Ctrl K

Подарить конфеты подряд

Средняя
Конфеты лежат в ряд, flavors[i] — вкус i-й конфеты. Нужно подарить другу ровно gift конфет, лежащих подряд, а остальные оставить себе. Хочется, чтобы у вас осталось как можно больше разных вкусов. Верните наибольшее число различных вкусов среди оставшихся конфет.
Пример 1
flavors=[1, 3, 3, 2, 1], gift=2 → 3

Отдаём две конфеты со вкусом 3 (позиции 1 и 2). Остаются 1, 2, 1 — два вкуса. Любой другой подарок оставил бы тоже не больше двух.

Пример 2
flavors=[4, 5, 6, 4], gift=1 → 3

Отдаём одну из четвёрок: остаются вкусы 4, 5 и 6.

Пример 3
flavors=[7, 8], gift=0 → 2

Дарить ничего не нужно, оба вкуса остаются.

Ограничения
  • 0 ≤ len(flavors) ≤ 10⁵
  • 1 ≤ flavors[i] ≤ 10⁵
  • 0 ≤ gift ≤ len(flavors)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОтрезок плейлиста из двух жанров СредняяОкна с заданным числом тревог СредняяОтрезки с k нечётными СредняяДва отрезка с нужной суммой СредняяСнять с краёв ровно столько Средняя
загружаем Python…
Вход
flavors=[1, 3, 3, 2, 1], gift=2
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 112 тестов на сервере, включая скрытые.