Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n, k = map(int, input().split())
- d = list(map(int, input().split()))
- memo = [0] * (k + 1)
- count = 0
- best_l = 0
- best_r = float('inf')
- l = r = 0
- while r < n:
- memo[d[r]] += 1
- if memo[d[r]] == 1:
- count += 1
- r += 1
- while count == k:
- if r - l < best_r - best_l:
- best_l = l
- best_r = r
- memo[d[l]] -= 1
- if memo[d[l]] == 0:
- count -= 1
- l += 1
- print(best_l + 1, best_r)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement