N,K = gets.split.map(&:to_i)
S = gets.chomp
nums = []
num = "1"
count = 0

for i in 0..N-1 do
# 連続数カウント
  if S[i] == num then
    count+=1
  else
# 連続数メモ&カウントのリセット&カウント数字の切り替え
    nums.push(count)
    count = 1
    num = num == "1"  ? "0" : "1"
  end
end
# 最後まで行くと、それ以上連続しないのでカウントをメモ
nums.push(count)
# 1..0みたいに0で終わってたら1の連続数0を加える
if nums.length % 2 == 0
  nums.push(0)
end

add = 2 * K + 1
left = 0
right = 0
tmp = 0
ans = 0

# 1の連続数は偶数ばんめのインデックス
0.step(nums.length-1, 2) do |i|
# 連続の一番左インデックス
# 連続の一番右インデックスの一個右
  nextleft = i
  nextright = [i + add, nums.length].min

# インデックス0から連続の左端手前まで引く
  while nextleft > left
    tmp -= nums[left]
    left += 1
  end
  # インデックス0から連続の右端までたす
  while nextright > right
    tmp += nums[right]
    right += 1
  end
  ans = tmp if tmp > ans  

end

puts ans