import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public int solution(int k, int n, int[] arr) {
int answer=0;
int lt = 0;
int cnt = 0; // 0을 1로 변경한 횟수
for (int rt = 0; rt < n; rt++) {
if (arr[rt] == 0) cnt ++;
while (cnt > k) {
if(arr[lt] ==0 ) cnt --;
lt ++;
}
answer = Math.max(answer, rt-lt+1);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt(); //수열의 길이
int k = kb.nextInt(); //변경 횟수
int[] arr = new int [n];
for (int i = 0; i < n; i++) {
arr[i] = kb.nextInt();
}
System.out.println(T.solution(k, n, arr));
}
}