제출 #1182987

#제출 시각아이디문제언어결과실행 시간메모리
1182987user736482JJOOII 2 (JOI20_ho_t2)C++20
100 / 100
5 ms724 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pb push_back #define ff first #define ss second #define MOD 1000000009 #define INF 1000000019 #define INFL 1000000000000000099LL ll a,b,c,t,n,k,k2,k3,k4,ans; string s; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n>>k>>s; k2=k; for(a=0;a<n;a++){ if(s[a]=='J') k2--; if(k2==0) break; } k3=k; for(b=a+1;b<n;b++){ if(s[b]=='O') k3--; if(k3==0) break; } k4=k; for(c=b+1;c<n;c++){ if(s[c]=='I') k4--; if(k4==0) break; } if(c>=n){ cout<<-1; return 0; } ans=c+1-3*k; for(ll i=0;i<n;i++){ if(s[i]!='J') ans=min(ans,c-i-3*k); else k2++; if(k2!=0) for(a=a+1;a<n;a++){ if(s[a]=='O') k3++; if(s[a]=='J') k2--; if(k2==0) break; } if(k3!=0) for(b=b+1;b<n;b++){ if(s[b]=='I') k4++; if(s[b]=='O') k3--; if(k3==0) break; } if(k4!=0) for(c=c+1;c<n;c++){ if(s[c]=='I') k4--; if(k4==0) break; } if(c>=n || b>=n || a>=n){ cout<<ans; return 0; } ans=min(ans,c-i-3*k); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...