Ctrl K

Лучшее окно без повторов

Средняя
Дан массив положительных чисел values и число width. Рассмотрим все отрезки массива (подряд идущие элементы) длины ровно width, в которых **все числа разные**. Верните наибольшую сумму среди таких отрезков. Если ни один отрезок не подходит, верните 0. Постарайтесь пройти массив один раз.
Пример 1
values=[3, 7, 2, 7, 5, 1], width=3 → 14

Окна длины 3: [3, 7, 2] — сумма 12, [7, 2, 7] — повтор, [2, 7, 5] — сумма 14, [7, 5, 1] — сумма 13. Лучшее — 14.

Пример 2
values=[6, 6, 6, 6], width=2 → 0

В каждом окне две шестёрки, подходящих окон нет — ответ 0.

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

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