Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- amount_of_numbers, amount_of_types = map(int, input().split())
- numbers = list(map(lambda x: x - 1, map(int, input().split())))
- last_positions = [-1] * amount_of_types
- current_types = 0
- start_interval, end_interval = 0, 0
- start_best, end_best = 0, amount_of_numbers
- while True:
- while end_interval < amount_of_numbers:
- if last_positions[numbers[end_interval]] == -1:
- current_types += 1
- last_positions[numbers[end_interval]] = end_interval
- if current_types == amount_of_types:
- break
- end_interval += 1
- if current_types < amount_of_types:
- break
- while last_positions[numbers[start_interval]] != start_interval:
- start_interval += 1
- if end_best - start_best > end_interval - start_interval:
- start_best, end_best = start_interval, end_interval
- last_positions[numbers[start_interval]] = -1
- current_types -= 1
- start_interval += 1
- end_interval += 1
- print(start_best + 1, end_best + 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement