Ctrl K

Отрезок с суммой, кратной делителю

Средняя
Дан массив неотрицательных целых чисел values и положительное число divisor. Проверьте, есть ли в массиве непрерывный отрезок **хотя бы из двух** элементов, сумма которого делится на divisor без остатка. Ноль делится на любое число. Верните True, если такой отрезок есть, иначе False.
Пример 1
values=[5, 3, 8, 1], divisor=4 → True

Отрезок [5, 3] даёт сумму 8, она делится на 4.

Пример 2
values=[7, 7], divisor=5 → False

Единственный подходящий отрезок — весь массив с суммой 14, на 5 она не делится. Одиночное число не считается.

Пример 3
values=[4, 0, 0], divisor=9 → True

Два нуля подряд дают сумму 0, а 0 делится на любое число.

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

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