Ctrl K

Тёмный промежуток между фонарями

Сложная
Вдоль улицы стоят n фонарей с номерами от 1 до n, сначала все выключены. Каждый день включают ровно один фонарь: в день i + 1 включается фонарь с номером order[i]. Через n дней горят все. Найдите самый ранний день, после которого на улице есть два горящих фонаря, между которыми ровно gap фонарей, и все они ещё выключены. Верните номер этого дня (дни нумеруются с 1) или -1, если такого дня нет.
Пример 1
order=[2, 5, 4, 1, 3], gap=2 → 2

После дня 2 горят фонари 2 и 5, а 3 и 4 между ними тёмные — ровно два. Ответ 2.

Пример 2
order=[3, 1, 2], gap=1 → 2

В день 2 горят фонари 1 и 3, между ними один тёмный фонарь 2.

Пример 3
order=[1, 2, 3, 4], gap=1 → -1

Фонари зажигаются подряд, тёмного промежутка между двумя горящими не бывает. Ответ -1.

Ограничения
  • 1 ≤ n = len(order) ≤ 2 · 10⁴
  • order — перестановка чисел от 1 до n
  • 0 ≤ gap ≤ 2 · 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый ровный участок СредняяРовные участки показаний СредняяКонтур городской застройки СложнаяМаксимум в скользящем окне СложнаяКороткий отрезок с нужной суммой Сложная
загружаем Python…
Вход
order=[2, 5, 4, 1, 3], gap=2
Ожидается
2

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