Submission #61439

#TimeUsernameProblemLanguageResultExecution timeMemory
61439sean617JOIOJI (JOI14_joioji)C++98
0 / 100
4 ms836 KiB
#include <iostream> #include <cstdio> using namespace std; int n, l, r, md, ans, s[3][200005]; string a; int main() { int i, z; cin >> n; cin >> a; a = ' ' + a; for (i = 1; i <= n;i++) { s[0][i] = s[0][i - 1]; s[1][i] = s[1][i - 1]; s[2][i] = s[2][i - 1]; if (a[i] == 'J') s[0][i]++; else if (a[i] == 'O') s[1][i]++; else s[2][i]++; } l = 0; r = n / 3 + 1; while (l < r) { md = (l + r) / 2; z = md * 3 - 1; for (i = 1; i + z <= n; i++) { if (s[0][i + z] - s[0][i - 1] == s[1][i + z] - s[1][i - 1] && s[2][i + z] - s[2][i - 1] == md) break; } if (i + z <= n) {ans = md; l = md + 1;} else r = md; } cout << ans * 3; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...