이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |