Электромобиль Яндекс Такси выезжает из точки 0 к точке target (в километрах) с запасом хода charge км. Вдоль дороги станции stations: пара [position, add] — станция на километре position добавляет add км запаса.
Батарея большая, переполнения нет. Доехать до станции можно, если position не больше текущей дальности. Верните наименьшее число остановок, чтобы доехать до target, или −1, если не получится.
В работе: Межгород из Москвы в Тверь, 180 км, на борту 70 км запаса: на каких зарядках останавливаться, чтобы потерять меньше времени.
Пример 1
stations = [[30, 40], [60, 90], [100, 20], [150, 10]] target = 180 charge = 70
2
Станция на 60-м км даёт 70 + 90 = 160 — мало; вторая остановка, например на 100-м км, даёт ровно 180.
Пример 2
stations = [[20, 100]] target = 100 charge = 10
-1
До первой станции не доехать: −1.
Ограничения
- 1 ≤
target≤ 10⁹ - 0 ≤
charge≤ 10⁹ - 0 ≤ число станций ≤ 10⁵
- 0 <
position<target, 1 ≤add≤ 10⁹ - Лимит — 2 с на тест (2000 мс).
print() и console.log() уходят в консоль.
def min_charging_stops(stations, target, charge):
Источник: наша задача на данных Яндекса. Условие пересказано своими словами.
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.