#include <bits/stdc++.h>
using namespace std;
inline void setup()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int n, k, res = 1e9, pre[200000], suf[200000];
string s;
vector<int> v, o;
int main()
{
setup();
cin >> n >> k >> s;
for (int i = 0; i < n; ++i)
{
if (s[i] == 'O')
{
o.push_back(i);
}
else if (s[i] == 'J')
{
v.push_back(i);
}
pre[i] = (v.size() < k ? -1 : v[v.size() - k]);
}
v.clear();
for (int i = n - 1; i >= 0; --i)
{
if (s[i] == 'I')
{
v.push_back(i);
}
suf[i] = (v.size() < k ? -1 : v[v.size() - k]);
}
for (int i = 0, x, y; i + k <= o.size(); ++i)
{
x = pre[o[i]];
y = suf[o[i + k - 1]];
if (x != -1 && y != -1)
{
res = min(res, y - x + 1 - 3 * k);
}
}
cout << (res == 1e9 ? -1 : res);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |