This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
vector<int> indJ, indO, indI;
int n, k;
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> k;
for(int i = 0; i < n; i++) {
char c; cin >> c;
if(c == 'J') indJ.push_back(i);
else if(c == 'O') indO.push_back(i);
else indI.push_back(i);
}
int res = INT_MAX;
for(int i = 0; i + k - 1 < (int)indJ.size(); i++) {
int x = indJ[i + k - 1];
auto it = upper_bound(indO.begin(), indO.end(), x);
if((int)(indO.end() - it) < k) break;
it += (k - 1);
x = *it;
it = upper_bound(indI.begin(), indI.end(), x);
if((int)(indI.end() - it) < k) break;
it += (k - 1);
res = min(res, *it - indJ[i] + 1 - (3 * k));
}
cout << (res == INT_MAX ? -1 : res) << '\n';
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... |