Submission #369805

#TimeUsernameProblemLanguageResultExecution timeMemory
369805mathking1021JOIOJI (JOI14_joioji)C++17
95 / 100
77 ms11896 KiB
#include <iostream> #include <cstdio> #include <map> #define PLL pair<ll, ll> #define F first #define S second using namespace std; typedef long long ll; ll n; string s; ll a, b, ans; map<PLL, ll> ma1, ma2; int main() { cin>>n>>s; ma1[make_pair(0, 0)] = ma2[make_pair(0, 0)] = 1; for(ll i = 0; i < n; i++) { if(s[i] == 'J') { a++; } else if(s[i] == 'O') { a--, b++; } else { b--; } if(!ma1.count(make_pair(a, b))) ma1[make_pair(a, b)] = i + 1; ma2[make_pair(a, b)] = i + 1; } for(auto i:ma1) { ll t1 = i.F.F; ll t2 = i.F.S; ll t3 = i.S; ans = max(ans, ma2[make_pair(t1, t2)] - t3); } printf("%lld\n", ans); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...