Submission #1182532

#TimeUsernameProblemLanguageResultExecution timeMemory
1182532ALTAKEXEJJOOII 2 (JOI20_ho_t2)C++20
100 / 100
10 ms3024 KiB
#include <bits/stdc++.h> #define ll long long #define ff first #define ss second #define all(x) x.begin(), x.end() using namespace std; int main() { ll n, k; cin >> n >> k; string s; cin >> s; vector<ll> v[3]; for (ll i = 0; i < n; i++) { if (s[i] == 'J') v[0].push_back(i); if (s[i] == 'O') v[1].push_back(i); if (s[i] == 'I') v[2].push_back(i); } ll ans = 1e9; for (ll i = k - 1; i < v[0].size(); i++) { ll l = v[0][i - k + 1]; ll y = upper_bound(all(v[1]), v[0][i]) - v[1].begin(); if (y + k - 1 >= v[1].size()) { continue; } y = v[1][y + k - 1]; y = upper_bound(all(v[2]), y) - v[2].begin(); if (y + k - 1 >= v[2].size()) { continue; } y = v[2][y + k - 1]; ans = min(ans, (n - 3 * k) - (l + (n - y - 1))); } cout << ((ans == 1e9) ? -1 : ans); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...