Максимальная длина подмассива с уникальными элементами после K замен

C++ Сложный arrays

Задача «Максимальная длина подмассива с уникальными элементами после K замен»

Дан массив целых чисел. Разрешено заменить не более K элементов массива на любые другие целые числа (возможно, не уникальные). Необходимо найти максимально возможную длину непрерывного подмассива, все элементы которого различны (уникальны) после выполнения не более K замен. Если невозможно получить подмассив с уникальными элементами, вывести 0. Ограничения: длина массива N до 10^5, K до N, значения элементов по модулю до 10^9.

Формат ввода

В первой строке два целых числа N и K (1 ≤ N ≤ 100000, 0 ≤ K ≤ N). Во второй строке N целых чисел — элементы массива.

Формат вывода

Одно целое число — максимальная длина подмассива с уникальными элементами после не более K замен.

Примеры

Пример 1

ВВОД
4 1 2 3 4
ВЫВОД
3
main.cpp