Submission #1271207

#TimeUsernameProblemLanguageResultExecution timeMemory
1271207kustov_vadim_533JJOOII 2 (JOI20_ho_t2)C++20
100 / 100
4 ms584 KiB
#include <bits/stdc++.h> //#pragma GCC optimize("Ofast,O3,unroll-loops") //#pragma GCC target("avx2") using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; #define len(v) (int)((v).size()) const int inf = 1e9; inline void solve() { int n, k; cin >> n >> k; vector<char> a(n); for (int i = 0; i < n; ++i){ cin >> a[i]; } int J = 0, O = 0, I = 0; int cJ = 0, cO = 0, cI = 0; int ans = inf; for (int i = 0; i < n; ++i){ cI += (a[i] == 'I'); while (cI - (a[I] == 'I') >= k){ cI -= (a[I] == 'I'); cO += (a[I] == 'O'); ++I; } while (cO - (a[O] == 'O') >= k){ cO -= (a[O] == 'O'); cJ += (a[O] == 'J'); ++O; } while (cJ - (a[J] == 'J') >= k){ cJ -= (a[J] == 'J'); ++J; } if (cJ >= k){ ans = min(ans, i + 1 - J - 3 * k); } } if (ans == inf){ cout << "-1\n"; } else{ cout << ans << '\n'; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t = 1; // cin >> t; while (t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...