#include <bits/stdc++.h>
using namespace std;
int N;
string S;
int A[200005], B[200005];
int main() {
ios_base::sync_with_stdio(0), cin.tie(0);
cin >> N >> S;
map<pair<int,int>,int> mp;
for (int i = 1; i <= N; i++) {
char x = S[i - 1];
if (x == 'J') {
A[i]++;
B[i]++;
} else if (x == 'I') {
A[i]--;
} else {
B[i]--;
}
}
mp[{0, 0}] = 0;
for (int i = 1; i <= N; i++) {
A[i] += A[i - 1];
B[i] += B[i - 1];
if (mp.find({A[i], B[i]}) == mp.end()) mp[{A[i], B[i]}] = i;
}
int ans = 0;
for (int i = 1; i <= N; i++) {
ans = max(ans, i - mp[{A[i], B[i]}]);
}
cout << ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |