제출 #1186641

#제출 시각아이디문제언어결과실행 시간메모리
1186641JooDdaeJOIOJI (JOI14_joioji)C++20
100 / 100
30 ms7888 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int n, p[200200][3];
string s;

int main() {
	cin.tie(0)->sync_with_stdio(0);
	cin >> n >> s;
	for(int i=1;i<=n;i++) for(int j=0;j<3;j++) p[i][j] = p[i-1][j] + (s[i-1] == "JOI"[j]);

	map<array<int, 3>, int> mp;
	int ans = 0;
	for(int i=0;i<=n;i++) {
		array<int, 3> P = {p[i][0]-p[i][1], p[i][1]-p[i][2], p[i][2]-p[i][0]};
		if(mp.count(P)) ans = max(ans, i-mp[P]);
		else mp[P] = i;
	}
	cout << ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…