output_description: Print the maximum possible number of consecutive people standing on hands
  after at most K directions.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N K
      S
attempt: import queue
  
  
  def read_input():
      n, k = map(int, input().split())
      s = list(map(int, list(str(input()))))
  
      return n, k, s
  
  
  # 0, 1, ....を(0, n1), (1, n2)みたいな形にする
  def convert_01(s):
      result = []
  
      result.append([s[0], 1])
      for ss in s[1:]:
          if result[-1][0] == ss:
              result[-1][1] += 1
          else:
              result.append([ss, 1])
  
      return result
  
  
  # index以降の要素、かつ0の数がKを下回るサブリストにある要素をカウントする
  def get_count(r, k):
      count = 0
      max_count = 0
      zeros = 0
  
      q = queue.Queue()
  
      for e in r:
          if e[0] == 0 and zeros >= k:
              # すでにk回0を操作した
              while True:
                  t = q.get()
                  count -= t[1]
  
                  if t[0] == 0:
                      zeros -= 1
                      break
  
          q.put(e)
          count += e[1]
  
          if e[0] == 0:
              zeros += 1
  
          if max_count < count:
              max_count = count
  
      return max_count
  
  
  if __name__ == "__main__":
      n, k, s = read_input()
      r = convert_01(s)
  
      print(get_count(r, k))
  
problem_description: Statement
  
  N people are arranged in a row from left to right.
  
  You are given a string S of length N consisting of `0` and `1`, and a positive
  integer K.
  
  The i-th person from the left is standing on feet if the i-th character of S
  is `0`, and standing on hands if that character is `1`.
  
  You will give the following direction at most K times (possibly zero):
  
  **Direction** : Choose integers l and r satisfying 1 \leq l \leq r \leq N, and
  flip the l-th, (l+1)-th, ..., and r-th persons. That is, for each i = l, l+1,
  ..., r, the i-th person from the left now stands on hands if he/she was
  standing on feet, and stands on feet if he/she was standing on hands.
  
  Find the maximum possible number of **consecutive** people standing on hands
  after at most K directions.
samples: [{"input": "5 1\n    00010", "output": "4\n    \n\nWe can have four consecutive people standing on hands, which is the maximum\nresult, by giving the following direction:\n\n  * Give the direction with l = 1, r = 3, which flips the first, second and third persons from the left.\n\n* * *"}, {"input": "14 2\n    11101010110011", "output": "8\n    \n\n* * *"}, {"input": "1 1\n    1", "output": "1\n    \n\nNo directions are necessary."}]