Submission #6866

#TimeUsernameProblemLanguageResultExecution timeMemory
6866QwazJOIOJI (JOI14_joioji)C++98
100 / 100
48 ms6948 KiB
#include <cstdio> #include <algorithm> #include <map> using namespace std; typedef pair < int, int > pii; const int MAX = 200020; int n, res; char data[MAX]; map < pii, int > mp; void solve(){ mp[pii(0, 0)] = -1; int i, jSum = 0, oSum = 0, iSum = 0; for(i = 0; i<n; i++){ if(data[i] == 'J') jSum++; else if(data[i] == 'O') oSum++; else iSum++; pii t = pii(oSum-jSum, iSum-jSum); if(mp.find(t) != mp.end()) res = max(res, i-mp[t]); else mp[t] = i; } printf("%d\n", res); } int main(){ scanf("%d%s", &n, data); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...