제출 #1143729

#제출 시각아이디문제언어결과실행 시간메모리
1143729NomioJJOOII 2 (JOI20_ho_t2)C++20
100 / 100
8 ms1804 KiB
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; string s; cin >> s; vector<int> J, O, I; for(int i = 0; i < n; i++) { if(s[i] == 'J') J.push_back(i); if(s[i] == 'O') O.push_back(i); if(s[i] == 'I') I.push_back(i); } int mn = n; for(int i = k - 1; i < J.size(); i++) { if(O.back() > J[i]) { int idO = upper_bound(O.begin(), O.end(), J[i]) - O.begin(); if(idO + k - 1 < O.size()) { int posO = O[idO + k - 1]; if(I.back() > O[idO + k - 1]) { int idI = upper_bound(I.begin(), I.end(), O[idO + k - 1]) - I.begin(); if(idI + k - 1 < I.size()) { int posI = I[idI + k - 1]; mn = min(mn, posI - J[i - (k - 1)] + 1 - k * 3); } } } } } cout << (mn == n ? -1 : mn) << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...