Самый длинный подотрезок с не более чем K различными значениями

Просмотр в формате PDF

Submit solution


Очки: 170
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Ботаник исследует лесную тропу, вдоль которой последовательно встречаются деревья разных видов. Для каждого дерева он записал целый идентификатор его вида, получив последовательность a_1, a_2, ..., a_n.

Требуется найти самый длинный непрерывный участок этой последовательности, на котором встречается не более K различных видов деревьев.

Иными словами, нужно определить максимальную длину подотрезка массива, содержащего не более K различных значений.

Входные данные

В первой строке заданы два целых числа n и K — количество деревьев в записи ботаника и максимально допустимое число различных видов на выбранном участке.

Во второй строке заданы n целых чисел a_i — идентификаторы видов деревьев в порядке их встречи.

Выходные данные

Выведите одно целое число — длину самого длинного непрерывного участка, на котором встречается не более K различных видов деревьев.

Ограничения

  • 1 <= n <= 2 * 10^5
  • 1 <= K <= n
  • 1 <= a_i <= 10^9

Примеры

Пример 1

Входные данные

1 1
1

Выходные данные

1
Пример 2

Входные данные

2 2
1 2

Выходные данные

2

Комментарии

Еще нет ни одного комментария.