Улица длиной length метров. Машина стартует из точки 0 в момент 0 и едет со скоростью 1 метр в секунду.
lights[i] = [p, g, r]: светофор в точке p (по возрастанию p, 0 < p < length). С момента 0 он горит зелёным g секунд, потом красным r секунд, и так по кругу. Если машина подъехала, когда горит красный, она ждёт ближайшего зелёного. В момент переключения на красный проехать уже нельзя, в момент переключения на зелёный — можно.
Верните момент, когда машина доедет до точки length.
В работе: Прогноз времени в пути в Яндекс Картах на участке с известными циклами светофоров.
Пример 1
length = 100 lights = [[30, 20, 40], [70, 10, 10]]
130
В 30 горит красный до 60, ждём. В 70 машина в момент 100: 100 mod 20 = 0, зелёный. Итог 130.
Пример 2
length = 10 lights = []
10
Светофоров нет — 10 секунд.
Ограничения
- 1 ≤
length≤ 10⁹ - 0 ≤ длина
lights≤ 10⁵ - 1 ≤
g,r≤ 1000 - Лимит — 2 с на тест (1500 мс).
print() и console.log() уходят в консоль.
def arrival_time(length, lights):
Источник: наша задача на данных Яндекса. Условие пересказано своими словами.
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.