Submission #748162

#TimeUsernameProblemLanguageResultExecution timeMemory
748162SharkyJOIOJI (JOI14_joioji)C++17
100 / 100
40 ms6224 KiB
#include <bits/stdc++.h>
using namespace std;

map<pair<int, int>, int> mp;

int32_t main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int n, ans = 0;
    string s;
    cin >> n >> s;
    vector<int> cnt(3, 0);
    map<char, int> cv = {{'J', 0}, {'O', 1}, {'I', 2}};
    mp[{0, 0}] = -1;
    for (int i = 0; i < n; i++) {
        cnt[cv[s[i]]]++;
        pair<int, int> tmp = {cnt[1] - cnt[0], cnt[2] - cnt[1]};
        if (!mp.count(tmp)) mp[tmp] = i;
        else ans = max(ans, i - mp[tmp]);
    }
    cout << ans << '\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...