#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;
#define mid ((left+right)>>1)
int n,k;
int arr[200023];
int main(){
ios_base::sync_with_stdio(23^23);cin.tie(NULL);
cin>>n>>k;
for(int i=1;i<=n;i++){
char c;cin>>c;
if(c=='J')arr[i]=0;
if(c=='O')arr[i]=1;
if(c=='I')arr[i]=2;
}
vector<int>a,b,c;
int ans=n+1;
for(int i=1;i<=n;i++){
if(arr[i]==0){
a.pb(i);
}
else if(arr[i]==1){
if(a.size()>=k){
b.pb(a[a.size()-k]);
}
}
else if(arr[i]==2){
if(b.size()>=k){
c.pb(b[b.size()-k]);
}
}
if(c.size()>=k){
ans=min(ans,i-c[c.size()-k]-3*k+1);
}
}
if(ans==n+1)ans=-1;
cout<<ans<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |