Меньше всего заправок до цели
Задача по программированию с проверкой онлайн
- Сложность
- Средняя
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Поиск и сортировка
- Динамическое программирование
Машина едет по прямой от точки 0 к точке target и тратит одну единицу топлива на единицу пути. Бак не ограничен, в начале в нём start_fuel единиц. В списке stations даны заправки [позиция, топливо]; позиции строго возрастают и лежат строго между 0 и target. Остановившись на заправке, машина забирает всё её топливо; проехать мимо тоже можно. Добраться до заправки или до цели с пустым баком разрешено.
Верните наименьшее число остановок на заправках, при котором машина доедет до target, или -1, если доехать нельзя. Если хватает стартового топлива, ответ 0. Ограничения: 1 ≤ target, start_fuel ≤ 10^9, до 500 заправок, топливо каждой от 1 до 10^9; сумма топлива может не поместиться в 32 бита.
Пример: 100, 10, [[10, 60], [20, 30], [30, 30], [60, 40]] → 2.
Источник: задача CodeShare