Ctrl K

Разные отрезки с малым числом кратных

Средняя
Дан массив values и два числа limit и divisor. Посчитайте, сколько различных непустых непрерывных отрезков массива содержат не больше limit элементов, делящихся на divisor. Два отрезка считаются одинаковыми, если они совпадают поэлементно (одинаковая длина и одни и те же числа на тех же местах), даже если взяты из разных мест массива. Есть решение за O(n²).
Пример 1
values=[1, 4, 1], limit=1, divisor=4 → 5

На 4 делится только одно число, так что подходит любой отрезок. Различных из них пять: [1], [4], [1, 4], [4, 1], [1, 4, 1] — второй отрезок [1] совпадает с первым.

Пример 2
values=[5, 10, 5], limit=1, divisor=5 → 2

Все числа делятся на 5, поэтому годятся только отрезки из одного элемента: [5] и [10].

Ограничения
  • 1 ≤ len(values) ≤ 2000
  • 1 ≤ values[i], divisor ≤ 200
  • 1 ≤ limit ≤ len(values)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЦель из начал слов СредняяЧистка папок-близнецов СложнаяСлова-обложки ЛёгкаяСлова-рамки СложнаяРазбиение на слова из словаря Средняя
загружаем Python…
Вход
values=[1, 4, 1], limit=1, divisor=4
Ожидается
5

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