Submission #1314584

#TimeUsernameProblemLanguageResultExecution timeMemory
1314584vedchoudharyJJOOII 2 (JOI20_ho_t2)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3") using namespace std; using ll = long long; #define int ll void fail() { cout << -1 << "\n"; exit(0); } signed main() { int n,k; cin >> n >> k; string s; cin >> s; map<char,int> f; for(char c : s) f[c]++; if(f['J']<k||f['O']<k||f['I']<k) fail(); int jc = 0; int i = 0; int ans = 0; while(i<n&&jc<k) { if(s[i]=='J') jc++; else { f[s[i]]--; ans++; } i++; } if(f['J']<k||f['O']<k||f['I']<k) fail(); int oc = 0; while(i<n&&oc<k) { if(s[i]=='O') oc++; else { f[s[i]]--; ans++; } i++; } if(f['J']<k||f['O']<k||f['I']<k) fail(); int ic = 0; int bk = n-1; while(bk>i&&ic<k) { if(s[i]=='I') ic++; else { f[s[i]]--; ans++; } bk--; } if(f['J']<k||f['O']<k||f['I']<k) fail(); if(f['J']>k) ans -= f['J']-k; if(f['K']>k) ans -= f['K']-k; cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...