Submission #769503

# Submission time Handle Problem Language Result Execution time Memory
769503 2023-06-29T16:39:00 Z stefdasca JJOOII 2 (JOI20_ho_t2) C++14
0 / 100
1 ms 312 KB
#include <bits/stdc++.h>

using namespace std;

int vj[200001], vo[200001], vi[200001];

int lj, lo, li;

int main()
{
	int n, k;
	cin >> n >> k;
	
	string s;
	cin >> s;
	
	
	for(int i = 0; i < n; i++)
	{
		if(s[i] == 'J')
			vj[++lj] = i;
		if(s[i] == 'O')
			vo[++lo] = i;
		if(s[i] == 'I')
			vi[++li] = i;
	}
	
	int pj = 1;
	int po = 1;
	int pi = 1;
	
	int ans = n+1;
	
	while(pj + k - 1 <= lj && po + k - 1 <= lo && pi + k - 1 <= li)
	{
		while(po + k - 1 <= lo && vo[po] <= vj[pj + k - 1])
			po++;
			
		if(po + k - 1 <= lo)
			while(pi + k - 1 <= li && vi[pi] <= vo[po + k - 1])
				pi++;
		
		if(pj + k - 1 <= lj && po + k - 1 <= lo && pi + k - 1 <= li)
		{
			int fi = vj[pj];
			int lst = vi[pi + k - 1];	
			
			
			ans = min(ans, (lst - fi + 1) - 3 * k);
		}
		pj++;
		
	}
	
	cout << ans;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 1 ms 312 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 1 ms 312 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 308 KB Output is correct
6 Correct 1 ms 308 KB Output is correct
7 Correct 1 ms 312 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -