Submission #1304152

#TimeUsernameProblemLanguageResultExecution timeMemory
1304152nathlol2JOIOJI (JOI14_joioji)C++20
100 / 100
31 ms15644 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 222222;
string s;
map<int, map<int, map<int, int>>> mp;
int n, J, O, I, ans;
signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> n >> s;
    s = " " + s;
    for(int i = 1;i<=n;i++){
        J += (s[i] == 'J');
        O += (s[i] == 'O');
        I += (s[i] == 'I');
        if(J == O && O == I){
            ans = max(ans, i);
        }else if(mp[J - O][O - I][J - I] == 0){
            mp[J - O][O - I][J - I] = i;
        }else{
            ans = max(ans, i - mp[J - O][O - I][J - I]);
        }
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...