output_description: Print the smallest sub-array size in a line.
input_description: The input is given in the following format.
  
  $N$ $K$  
  $a_1$ $a_2$ ... $a_N$
attempt: n, k = map(int, input().split())
  aa = list(map(int, input().split()))
  cnts = [0] * (k + 1)
  ans = 1e6
  existing = 0
  r = 0
  for l in range(n - k):
      while r < n and existing < k:
          a = aa[r]
          if a <= k:
              cnts[a] += 1
              if cnts[a] == 1:
                  existing += 1
          r += 1
      ans = min(ans, r - l)
      a = aa[l]
      if a <= k:
          cnts[a] -= 1
          if cnts[a] == 0:
              existing -= 1
  
  print(ans if ans < 1e6 else 0)
  
problem_description: The Smallest Window II
  
  For a given array $a_1, a_2, a_3, ... , a_N$ of $N$ elements and an integer
  $K$, find the smallest sub-array size (smallest window length) where the
  elements in the sub-array contains all integers in range [$1, 2, ..., K$]. If
  there is no such sub-array, report 0.
samples: [{"input": "6 2\n    4 1 2 1 3 5", "output": "2"}, {"input": "6 3\n    4 1 2 1 3 5", "output": "3"}, {"input": "3 4\n    1 2 3", "output": "0"}]