# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
365606 | Rainbowbunny | JJOOII 2 (JOI20_ho_t2) | C++17 | 15 ms | 1892 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 <iostream>
#include <vector>
int n, k;
std::vector <int> J, O, I;
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
std::cin >> n >> k;
for(int i = 1; i <= n; i++)
{
char x;
std::cin >> x;
if(x == 'J')
{
J.push_back(i);
}
else if(x == 'O')
{
O.push_back(i);
}
else
{
I.push_back(i);
}
}
int ans = 1e9;
for(int i = 0; i + k <= J.size(); i++)
{
int l = J[i];
int r = J[i + k - 1];
r = std::lower_bound(O.begin(), O.end(), r) - O.begin();
r = r + k - 1;
if(r >= O.size())
{
continue;
}
r = O[r];
r = std::lower_bound(I.begin(), I.end(), r) - I.begin();
r = r + k - 1;
if(r >= I.size())
{
continue;
}
r = I[r];
ans = std::min(ans, r - l + 1);
}
if(ans > n)
{
std::cout << -1;
return 0;
}
std::cout << ans - 3 * k;
}
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... |