Ctrl K

Длинный плейлист с редкой сменой жанра

Сложная
Треки альбома идут по порядку, genres[i] — жанр i-го трека. Вы собираете плейлист: выбрасываете часть треков, а оставшиеся слушаете в исходном порядке. Сменой жанра назовём пару соседних треков плейлиста с разными жанрами. Смен должно быть не больше switches. Верните наибольшую возможную длину такого плейлиста.
Пример 1
genres=[3, 3, 7, 3, 7, 7, 2], switches=1 → 5

Берём 3, 3, 3, 7, 7 (индексы 0, 1, 3, 4, 5): жанр меняется один раз, длина 5.

Пример 2
genres=[5, 1, 5, 2, 5], switches=0 → 3

Без смен жанра можно взять только треки одного жанра — три трека жанра 5.

Пример 3
genres=[4, 8, 4, 9], switches=2 → 3
Ограничения
  • 1 ≤ len(genres) ≤ 5000
  • 1 ≤ genres[i] ≤ 10⁹
  • 0 ≤ switches ≤ 50
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе способы расставить пробелы СложнаяЦепочки с квадратными суммами СложнаяНарезка с штрафом за повторы СложнаяКорни, подходящие под догадки СложнаяПодъём по строкам и столбцам Сложная
загружаем Python…
Вход
genres=[3, 3, 7, 3, 7, 7, 2], switches=1
Ожидается
5

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