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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <bits/stdc++.h>
using namespace std;
int d[8001];
int p[8001];
char x;
int n,k,t,i,a,j;
int z,m,y,ss;
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cin >> n >> k >> t;
	for (i=0;i<n;i++) {
		cin >> x;
		//cout << x;
		p[i+1]=p[i];
		d[i+1]=d[i];
		if(x<'3') 
			p[i+1]++;
		if(x=='2')
			d[i+1]++;
		}
	/*for (i=0;i<=n;i++)
		cout << d[i] << ' ';
	cout << '\n';
	for (i=0;i<=n;i++)
		cout << p[i] << ' ';
	cout << '\n';*/
	m=-1;
	ss=p[n]-k;
	for(i=t;i<n;i++){
		for(j=i;j+t<=n;j++){ 
			y=d[i-t]+d[n]-d[j+t];
			z=y+p[j]-p[i]-ss;
			
			if(z<0) continue;
			if(z<y)
				m=max(i+n-j-2*t-y+z,m);
			else
				m=max(i+n-j-2*t,m);
			//cout << i << ' ' << j << ' ' << z << ' ' << m << '\n';
		}
	}
	if(p[n]-d[n]<=k)
		m=max(n-p[n]+min(k,p[n]),m);
	cout << m <<  '\n';

					
				
	}