Advertisement
serega1112

krasota

Dec 14th, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.46 KB | None | 0 0
  1. n, k = map(int, input().split())
  2. d = list(map(int, input().split()))
  3.  
  4. memo = [0] * (k + 1)
  5. count = 0
  6. best_l = 0
  7. best_r = float('inf')
  8. l = r = 0
  9.  
  10. while r < n:
  11.     memo[d[r]] += 1
  12.     if memo[d[r]] == 1:
  13.         count += 1
  14.     r += 1
  15.     while count == k:
  16.         if r - l < best_r - best_l:
  17.             best_l = l
  18.             best_r = r
  19.         memo[d[l]] -= 1
  20.         if memo[d[l]] == 0:
  21.             count -= 1
  22.         l += 1
  23. print(best_l + 1, best_r)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement