# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
209385 | zhacatomn | JJOOII 2 (JOI20_ho_t2) | C++14 | 5 ms | 376 KiB |
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;
int main(int argc, char const *argv[]){
int n, k;
cin >> n >> k;
string s;
cin >> s;
int res = -1;
deque <int> J, O, I;
for(int i = 0; i < n; i++){
char c = s[i];
if(c == 'J'){
J.push_front(i);
if(J.size() >= k){
if(O.empty())
O.push_front(J.back());
else{
O[0] = max(O[0], J.back());
}
J.pop_back();
}
}
else if(c == 'O'){
O.push_front(-1);
if(O.size() >= k + 1){
if(I.empty())
I.push_front(O.back());
else{
I[0] = max(I[0], O.back());
}
O.pop_back();
}
}
else{
I.push_front(-1);
if(I.size() >= k + 1){
int temp = I.back();
temp = i - temp + 1 - 3 * k;
if(temp != -1){
res = res == -1 ? temp : min(res, temp);
}
I.pop_back();
}
}
/*
for(auto it: J)
cout << it << " ";
cout << "\n";
for(auto it: O)
cout << it << " ";
cout << "\n";
for(auto it: I)
cout << it << " ";
cout << "\n";
*/
}
cout << res;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |