Ctrl K

Наименьшая положительная сумма отрезка

Лёгкая
Дан массив целых чисел changes и два числа min_len и max_len. Рассмотрим все непрерывные отрезки массива длиной от min_len до max_len включительно, сумма которых **строго больше нуля**. Верните наименьшую из таких сумм, а если ни одного такого отрезка нет — -1.
Пример 1
changes=[4, -3, 2, -2, 5], min_len=2, max_len=3 → 1

Отрезок [4, -3] даёт 1 — меньше положительной суммы у отрезков длины 2–3 не бывает.

Пример 2
changes=[-5, 1, -4], min_len=1, max_len=3 → 1

Единственный подходящий отрезок с положительной суммой — [1].

Пример 3
changes=[-1, -1, 0], min_len=2, max_len=3 → -1
Ограничения
  • 1 ≤ len(changes) ≤ 100
  • 1 ≤ min_len ≤ max_len ≤ len(changes)
  • -1000 ≤ changes[i] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый короткий рывок СредняяОтрезки с маленьким произведением СредняяКороткий отрезок с нужной суммой СложнаяОкна с заданным числом тревог СредняяЗажечь все лампы окном Сложная
загружаем Python…
Вход
changes=[4, -3, 2, -2, 5], min_len=2, max_len=3
Ожидается
1

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