#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=3e5+5;
int sf[N][3];
int ps[N][3];
int cnt[3];
int dp[N];
signed main(){
int n,k;
cin>>n>>k;
vector<char>s(n+2),t(n+2);
map<char,int> mp;
for(int i=1;i<=n;i++){
cin>>s[i];
}
mp['J']=0;
mp['O']=1;
mp['I']=2;
for(int i=0;i<3*k;i++){
if(i/k==0)t[i+1]='J';
if(i/k==1)t[i+1]='O';
if(i/k==2)t[i+1]='I';
}
int ans=1e9;
for(int i=1;i<=n;i++){
int l=i;
for(int j=1;j<=3*k;j++){
while(s[l]!=t[j] and l<=n+1)l++;
l++;
}
l--;
if(l<=n){
ans=min(ans, l-i+1-3*k);
}
}
if(ans==1e9){
cout<<"-1";
return 0;
}
cout<<ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |