Заправочные станции

MediumАлгоритмы
05:00
Лучше работает на десктопе
GreedyArrays

На кольцевом маршруте расположены n заправочных станций. На станции i можно заправиться на gas[i] литров. Путь от станции i до станции i+1 стоит cost[i] литров.

Начиная с пустого бака, найдите индекс стартовой станции, с которой можно проехать весь маршрут по часовой стрелке. Если это невозможно, верните -1.

Гарантируется, что если решение существует, оно единственное.

Сигнатура

def can_complete_circuit(gas: list[int], cost: list[int]) -> int:

Constraints

  • 1 ≤ len(gas) ≤ 10⁵
  • 0 ≤ gas[i], cost[i] ≤ 10⁴

Примеры

Пример 1

Вход:
gas = [1,2,3,4,5]
cost = [3,4,5,1,2]
Выход:3

Пример 2

Вход:
gas = [2,3,4]
cost = [3,4,3]
Выход:-1

Пример 3

Вход:
gas = [5,1,2,3,4]
cost = [4,4,1,5,1]
Выход:4
Консоль
Нажмите Run или Ctrl+Enter для запуска