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))

京公网安备 11010502036488号