Submission #553401

#TimeUsernameProblemLanguageResultExecution timeMemory
553401HanksburgerJJOOII 2 (JOI20_ho_t2)C++17
100 / 100
13 ms2008 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> J, O, I;
char a[200005];
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n, k, Osz, Isz, ans=1e9;
	cin >> n >> k;
	for (int i=1; i<=n; i++)
	{
		cin >> a[i];
		if (a[i]=='J')
			J.push_back(i);
		else if (a[i]=='O')
			O.push_back(i);
		else
			I.push_back(i);
	}
	Osz=O.size();
	Isz=I.size();
	for (int i=0; i<=Osz-k; i++)
	{
		int index=lower_bound(J.begin(), J.end(), O[i])-J.begin()-k;
		int jndex=lower_bound(I.begin(), I.end(), O[i+k-1])-I.begin()+k-1;
		if (index>=0 && jndex<Isz)
			ans=min(ans, I[jndex]-J[index]+1-k*3);
	}
	if (ans==1e9)
		cout << -1;
	else
		cout << ans;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...