제출 #877128

#제출 시각아이디문제언어결과실행 시간메모리
877128Marco_EscandonJJOOII 2 (JOI20_ho_t2)C++11
100 / 100
9 ms3412 KiB
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int n,k; string s; vector<int> f(char c){ vector<int> a(n+2); int I=0,t=0; for(int i=0;i<n;i++){ if(i&&s[i-1]==c) t--; while(I<n&&t<k){ if(s[I]==c) t++; I++; } a[i]=(t==k?I:n+1); } a[n]=a[n+1]=n+1; return a; } int main(){ cin>>n>>k>>s; vector<int> a=f('J'),b=f('O'),c=f('I'); int res=n; for(int i=0;i<n;i++){ int x=c[b[a[i]]]; if(x<=n) res=min(res,x-i-3*k); } cout<<(res==n?-1:res)<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...