Submission #70225275


Source Code Expand

#include <bits/stdc++.h>
//#include <atcoder/all>
using namespace std;
//using namespace atcoder;
//using mint = modint1000000007;
//const int mod = 1000000007;
//using mint = modint998244353;
//const int mod = 998244353;
//const int INF = 1e9;
//const long long LINF = 1e18;
#define rep(i, n) for (int i = 0; i < (n); ++i)
#define rep2(i,l,r)for(int i=(l);i<(r);++i)
#define rrep(i, n) for (int i = (n) - 1; i >= 0; --i)
#define rrep2(i,l,r)for(int i=(r) - 1;i>=(l);--i)
#define all(x) (x).begin(),(x).end()
#define allR(x) (x).rbegin(),(x).rend()
#define P pair<int,int>
template<typename A, typename B> inline bool chmax(A & a, const B & b) { if (a < b) { a = b; return true; } return false; }
template<typename A, typename B> inline bool chmin(A & a, const B & b) { if (a > b) { a = b; return true; } return false; }
int f(string &s, string t) {
	int ret = 0;
	rep(i, (int)s.size() - t.size() + 1) {
		string u = s.substr(i, t.size());
		if (t == u)ret++;
	}
	return ret;
}
int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	int n, k; cin >> n >> k;
	string s; cin >> s;
	int mx = 0;
	set<string>ans;
	rep(i, s.size() - k + 1) {
		string t = s.substr(i, k);
		int cnt = f(s, t);
		if (cnt == mx) {
			ans.insert(t);
		}
		else if (cnt > mx) {
			mx = cnt;
			ans.clear();
			ans.insert(t);
		}
	}
	//	cout << ans.size() << endl;
	cout << mx << endl;
	for (auto e : ans)cout << e << " ";
	cout << endl;
	return 0;
}

Submission Info

Submission Time
Task B - Most Frequent Substrings
User kwm_t
Language C++ 23 (gcc 12.2)
Score 200
Code Size 1493 Byte
Status AC
Exec Time 1 ms
Memory 3608 KiB

Compile Error

Main.cpp: In function ‘int f(std::string&, std::string)’:
Main.cpp:11:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   11 | #define rep(i, n) for (int i = 0; i < (n); ++i)
      |                                     ^
Main.cpp:22:9: note: in expansion of macro ‘rep’
   22 |         rep(i, (int)s.size() - t.size() + 1) {
      |         ^~~
Main.cpp: In function ‘int main()’:
Main.cpp:11:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   11 | #define rep(i, n) for (int i = 0; i < (n); ++i)
      |                                     ^
Main.cpp:35:9: note: in expansion of macro ‘rep’
   35 |         rep(i, s.size() - k + 1) {
      |         ^~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 22
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 1 ms 3412 KiB
00-sample-02.txt AC 1 ms 3608 KiB
00-sample-03.txt AC 1 ms 3480 KiB
01-01.txt AC 1 ms 3480 KiB
01-02.txt AC 1 ms 3492 KiB
01-03.txt AC 1 ms 3420 KiB
01-04.txt AC 1 ms 3480 KiB
01-05.txt AC 1 ms 3476 KiB
01-06.txt AC 1 ms 3400 KiB
01-07.txt AC 1 ms 3528 KiB
01-08.txt AC 1 ms 3540 KiB
01-09.txt AC 1 ms 3436 KiB
01-10.txt AC 1 ms 3400 KiB
01-11.txt AC 1 ms 3468 KiB
01-12.txt AC 1 ms 3396 KiB
01-13.txt AC 1 ms 3408 KiB
01-14.txt AC 1 ms 3480 KiB
01-15.txt AC 1 ms 3420 KiB
01-16.txt AC 1 ms 3464 KiB
01-17.txt AC 1 ms 3436 KiB
01-18.txt AC 1 ms 3424 KiB
01-19.txt AC 1 ms 3336 KiB