Submission #953496

#TimeUsernameProblemLanguageResultExecution timeMemory
953496Angus_YeungJJOOII 2 (JOI20_ho_t2)C++17
0 / 100
0 ms348 KiB
#include <bits/stdc++.h> #define x first #define y second #define pii pair<ll, ll> typedef long long ll; const ll MOD = 1000000007LL; const ll INF = 1e15; using namespace std; ll n, k, cnt, pos[5], tmp1, tmp2; char a[200010]; int main() { cin.tie(0); cout.tie(0); ios::sync_with_stdio(0); cin >> n >> k; for (int i = 1; i <= n; i++) cin >> a[i]; pos[1] = n+1; pos[3] = 0; cnt = 0; for (int i = 1; i <= n; i++) { cnt += (a[i] == 'J'); if (cnt == k) { pos[1] = i; break; } } cnt = 0; for (int i = n; i >= 1; i--) { cnt += (a[i] == 'I'); if (cnt == k) { pos[3] = i; break; } } cnt = 0; for (int i = pos[1]+1; i <= pos[3]-1; i++) { cnt += (a[i] == 'O'); } tmp1 = 0; while (tmp1 < n && a[tmp1+1] != 'J') tmp1++; tmp2 = n+1; while (tmp2 > 1 && a[tmp2-1] != 'I') tmp2--; if (cnt >= k) { cout << tmp1+n-tmp2+1 << "\n"; } else cout << "-1\n"; return 0; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...