Даны списки l и r длины n. Для ячейки с номером i (нумерация с 1) выбирают число a_i, где l_i ≤ a_i ≤ r_i и a_i делится на i.
Верните число различных массивов a по модулю 10⁹ + 7. Если хоть для одной ячейки подходящего числа нет — ответ 0.
В работе: Планирование фасовки: в i-ю секцию стеллажа товар кладут упаковками по i штук, а лимиты по секциям разные.
Пример 1
Ввод
l = [1, 2, 3] r = [2, 4, 3]
Вывод
4
1-я ячейка: 1 или 2, 2-я: 2 или 4, 3-я: 3. Всего 2 · 2 · 1 = 4.
Пример 2
Ввод
l = [1, 3] r = [5, 3]
Вывод
0
Во 2-й ячейке только 3, оно не делится на 2 — вариантов нет.
Ограничения
- 1 ≤ n ≤ 10⁵
- 1 ≤ l_i ≤ r_i ≤ 10⁹
- Лимит — 1 с на тест.
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def count_arrays(l, r):
Источник: Ozon, отборочный контест Route 256, 2024 (репозиторий участника). Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.