제출 #311173

#제출 시각아이디문제언어결과실행 시간메모리
311173vipghn2003JJOOII 2 (JOI20_ho_t2)C++14
100 / 100
36 ms3272 KiB
#include<bits/stdc++.h> using namespace std; const int N=2e5+5; string s; int n,k,sum[3][N]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin>>n>>k; cin>>s; s="."+s; for(int i=1;i<=n;i++) { sum[0][i]=sum[0][i-1]+(s[i]=='J'); sum[1][i]=sum[1][i-1]+(s[i]=='O'); sum[2][i]=sum[2][i-1]+(s[i]=='I'); } int res=-1; for(int i=1;i<=n-3*k+1;i++) { bool kt=true; int cur=i; for(int j=0;j<3;j++) { int to=lower_bound(sum[j]+1,sum[j]+n+1,sum[j][cur-1]+k)-sum[j]; if(to>n) kt=false; cur=to+1; } if(!kt) continue; if(res==-1||res>(cur-i)-3*k) res=(cur-i)-3*k; } cout<<res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...