n,k=list(map(int,input().split())) l=list(map(int,input().split())) if l.count(1)==0: # 全部为0的场景 print(k) elif l.count(0)==0: # 全部为1的场景 print(n) else: res=[] le=0 idx=[] # 记录0的索引 for i in range(n): if l[i]==0: idx.append(i) k-=1 # 消耗一次修改机会 if k>=0: le=i+1 res.append(le) else: # 0的个数已经大于k le=i-idx[-k-1] # 以位置i结尾得到的最长全1串的长度,就是我们从i向前修改连续K个0后的结果 res.append(le) print(max(res))