#include<bits/stdc++.h>
#define int long long
#define ss second
#define ff first
#define pb push_back
const int mxn=30005;
using namespace std;
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,k;
cin>>n>>k;
string s;
cin>>s;
vector<int> v[3];
for(int i=0; i<n; i++) {
if(s[i]=='J') v[0].pb(i);
if(s[i]=='O') v[1].pb(i);
if(s[i]=='I') v[2].pb(i);
}
int mn=1e9;
for(int i=k-1; i<v[0].size(); i++) {
int l=v[0][i-k+1];
int y=upper_bound(v[1].begin(),v[1].end(),v[0][i])-v[1].begin();
if(y+k-1>=v[1].size()) {
continue;
}
y=v[1][y+k-1];
y=upper_bound(v[2].begin(),v[2].end(),y)-v[2].begin();
if(y+k-1>=v[2].size()) {
continue;
}
y=v[2][y+k-1];
mn=min(mn,(n-3*k)-(l+(n-y-1)));
}
if(mn==1e9)
cout<<"-1";
else
cout<<mn;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |