#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve(){
int n, k; cin >> n >> k;
string s; cin >> s;
s = ' ' + s;
vector<int> j, o, i, prej(n + 1, -1e9), sufi(n + 1, 1e9);
for (int p = 1; p <= n; p++){
if(s[p] == 'O') o.push_back(p);
if(s[p] == 'J') j.push_back(p);
if(j.size() >= k) prej[p] = j[j.size() - k];
}
for (int p = n; p >= 1; p--){
if(s[p] == 'I') i.push_back(p);
if(i.size() >= k) sufi[p] = i[i.size() - k];
}
int res = 1e9;
for (int p = 0; p + k - 1 < o.size(); p++) res = min(res, sufi[o[p + k - 1]] - prej[o[p]] + 1 - 3 * k);
cout << (res > n ? -1 : res);
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |