제출 #203823

#제출 시각아이디문제언어결과실행 시간메모리
203823blacktulipJJOOII 2 (JOI20_ho_t2)C++17
100 / 100
18 ms1912 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define inf 1000000000 int n,m,ans=inf,k; int cev; string s; vector<int> v[5]; int main(void){ fio(); cin>>n>>k>>s; 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 si=v[0].size(); int si1=v[1].size(); int si2=v[2].size(); for(int i=0;i<(int)v[0].size();i++){ if(i+k-1>=si)break; int at=v[0][i+k-1]; int yes=upper_bound(v[1].begin(),v[1].end(),at)-v[1].begin(); if(yes+k-1>=si1)break; at=v[1][yes+k-1]; yes=upper_bound(v[2].begin(),v[2].end(),at)-v[2].begin(); if(yes+k-1>=si2)break; at=v[2][yes+k-1]; ans=min(ans,at-v[0][i]+1-3*k); } if(ans==inf)ans=-1; cout<<ans<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...