#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, k, curr=3, t=(cin>>n>>k>>t, t); char c; vector<vector<int>> s_pr(n+1, vector<int>(3, 0)); for(int i=1; i<=n; i++){ c=(cin>>c, c); s_pr[i][c-'1']=s_pr[i-1][c-'1']+1; s_pr[i][(c-'1'+1)%3]=s_pr[i-1][(c-'1'+1)%3]; s_pr[i][(c-'1'+2)%3]=s_pr[i-1][(c-'1'+2)%3]; } if(s_pr[n][0]<=k){ cout<<s_pr[n][0]+s_pr[n][2]+min(s_pr[n][1],k-s_pr[n][0]); return 0; } int wyn=-1; for(int i=t+1; i<=n-t; i++){ for(int j=i; j<=n-t; j++){ int s1=s_pr[n][0]-s_pr[j][0]+s_pr[i-1][0], s2=s_pr[i-1][1]-s_pr[i-t-1][1]+s_pr[j+t][1]-s_pr[j][1]; if(s1+s2<=k){ int s3=s_pr[n][1]-s_pr[j+t][1]+s_pr[i-t-1][1]; wyn=max(wyn, n-(j-i+1+t*2)-(s3+min(k-s1-s2, s3))); } } } cout<<wyn; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, k, curr=3, t=(cin>>n>>k>>t, t); char c; vector<vector<int>> s_pr(n+1, vector<int>(3, 0)); for(int i=1; i<=n; i++){ c=(cin>>c, c); s_pr[i][c-'1']=s_pr[i-1][c-'1']+1; s_pr[i][(c-'1'+1)%3]=s_pr[i-1][(c-'1'+1)%3]; s_pr[i][(c-'1'+2)%3]=s_pr[i-1][(c-'1'+2)%3]; } if(s_pr[n][0]<=k){ cout<<s_pr[n][0]+s_pr[n][2]+min(s_pr[n][1],k-s_pr[n][0]); return 0; } int wyn=-1; for(int i=t+1; i<=n-t; i++){ for(int j=i; j<=n-t; j++){ int s1=s_pr[n][0]-s_pr[j][0]+s_pr[i-1][0], s2=s_pr[i-1][1]-s_pr[i-t-1][1]+s_pr[j+t][1]-s_pr[j][1]; if(s1+s2<=k){ int s3=s_pr[n][1]-s_pr[j+t][1]+s_pr[i-t-1][1]; wyn=max(wyn, n-(j-i+1+t*2)-(s3+min(k-s1-s2, s3))); } } } cout<<wyn; return 0; } |