Submission #156045

#TimeUsernameProblemLanguageResultExecution timeMemory
156045atoizJOIOJI (JOI14_joioji)C++14
100 / 100
32 ms3944 KiB
#include <iostream> #include <unordered_map> #include <algorithm> using namespace std; unordered_map<long long, int> min_idx; const int MAXN = 200007; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; long long cur = 0; min_idx[cur] = 0; int ans = 0; for (int i = 1; i <= n; ++i) { char ch; cin >> ch; if (ch == 'I') cur += 1; else if (ch == 'O') cur += MAXN; else cur -= MAXN + 1; int min_i = (min_idx.find(cur) == min_idx.end() ? (min_idx[cur] = i) : min_idx[cur]); ans = max(ans, i - min_i); } cout << ans << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...