Submission #1133549

#TimeUsernameProblemLanguageResultExecution timeMemory
1133549nuutsnoyntonJJOOII 2 (JOI20_ho_t2)C++20
100 / 100
16 ms3024 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; int main() { ll n, m, r, x, y, ans,i,p, j,cnt1,cnt, t,s, mx, mn, k, o; cin >> n >> k; string str; cin >> str; vector < ll > J, O, I; for (i = 0; i < n; i ++) { if ( str[i] == 'J') J.push_back(i); if ( str[i] == 'O') O.push_back(i); if ( str[i] == 'I') I.push_back(i); } ans = -1; for (j =k - 1; j < J.size(); j++) { o = lower_bound(O.begin(), O.end(), J[j]) - O.begin(); o = o + k - 1; if ( o >= O.size()) continue; i = lower_bound(I.begin(), I.end(), O[o]) - I.begin(); i = i + k - 1; if( i >= I.size()) continue; if ( ans == -1) ans = I[i] - J[j - k + 1] + 1; else ans =min(ans, I[i] - J[j- k + 1] + 1); } if ( ans == -1) { cout << ans << endl; return 0; } cout << ans - (3 * k)<< endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...