Ctrl K

Шаги садовника вдоль грядок

Средняя
Вдоль тропинки в ряд стоят грядки с номерами от 0 до n - 1; грядка i находится в точке x = i. В точке x = -1 колодец, у которого садовник наполняет лейку объёмом can_size. Один шаг — это перемещение на единицу вдоль тропинки. Грядке i нужно ровно needs[i] единиц воды. Садовник начинает у колодца с полной лейкой и поливает грядки строго слева направо. Если после очередной грядки воды в лейке не хватает, чтобы целиком полить следующую, он возвращается к колодцу, наполняет лейку до краёв и идёт обратно. Возвращаться за водой раньше нельзя. Верните общее число шагов, за которое будут политы все грядки.
Пример 1
needs=[3, 1, 4, 2], can_size=5 → 14

До грядки 0 — 1 шаг (в лейке 2), до грядки 1 — 1 шаг (в лейке 1). На грядку 2 не хватает: 2 шага к колодцу и 3 шага обратно (в лейке 1). На грядку 3 снова не хватает: 3 шага назад и 4 вперёд. Итого 1 + 1 + 2 + 3 + 3 + 4 = 14.

Пример 2
needs=[2, 2, 2], can_size=6 → 3

Одной лейки хватает на все грядки, остаётся пройти 3 шага.

Пример 3
needs=[4, 4, 4], can_size=4 → 9
Ограничения
  • n = len(needs)
  • 1 ≤ n ≤ 1000
  • 1 ≤ needs[i] ≤ 10⁶
  • max(needs) ≤ can_size ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧтение по спирали СредняяКвадрат, пронумерованный по спирали СредняяСледующий шаг колонии клеток СредняяЗигзаг по диагоналям СредняяТри в ряд до упора Средняя
загружаем Python…
Вход
needs=[3, 1, 4, 2], can_size=5
Ожидается
14

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