Submission #1154784

#TimeUsernameProblemLanguageResultExecution timeMemory
1154784kadirJJOOII 2 (JOI20_ho_t2)C++20
100 / 100
8 ms3016 KiB
#include<bits/stdc++.h> #define int long long #define ss second #define ff first #define pb push_back const int mxn=30005; using namespace std; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n,k; cin>>n>>k; string s; cin>>s; vector<int> v[3]; for(int i=0; i<n; i++) { if(s[i]=='J') v[0].pb(i); if(s[i]=='O') v[1].pb(i); if(s[i]=='I') v[2].pb(i); } int mn=1e9; for(int i=k-1; i<v[0].size(); i++) { int l=v[0][i-k+1]; int y=upper_bound(v[1].begin(),v[1].end(),v[0][i])-v[1].begin(); if(y+k-1>=v[1].size()) { continue; } y=v[1][y+k-1]; y=upper_bound(v[2].begin(),v[2].end(),y)-v[2].begin(); if(y+k-1>=v[2].size()) { continue; } y=v[2][y+k-1]; mn=min(mn,(n-3*k)-(l+(n-y-1))); } if(mn==1e9) cout<<"-1"; else cout<<mn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...