Ctrl K

Ягоды вдоль тропинки

Сложная
Кусты с ягодами растут вдоль бесконечной прямой тропинки. Дан список bushes, где bushes[i] = [position, amount]: на точке position растёт amount ягод. Список отсортирован по position по возрастанию, все позиции различны. Вы стоите в точке start и можете сделать не больше steps шагов. Один шаг — переход на единицу влево или вправо, направление можно менять сколько угодно раз. В каждой точке, где вы побывали (включая start), вы собираете все ягоды; повторно они не вырастают. Верните наибольшее число ягод, которое можно собрать.
Пример 1
bushes=[[1, 4], [3, 2], [9, 5]], start=4, steps=5 → 6

Идём влево: точка 3 (2 ягоды) и точка 1 (4 ягоды) — 3 шага, всего 6. До точки 9 нужно 5 шагов, там только 5 ягод.

Пример 2
bushes=[[2, 3], [5, 1], [8, 6]], start=5, steps=6 → 7

Идём вправо до 8: 3 шага, ягоды 1 + 6 = 7. Чтобы потом дойти до 2, нужно ещё 6 шагов — не хватает. Путь влево до 2 и обратно даёт лишь 3 + 1 = 4.

Пример 3
bushes=[[10, 7]], start=0, steps=3 → 0
Ограничения
  • 1 ≤ len(bushes) ≤ 10⁵
  • bushes[i] = [position, amount]
  • 0 ≤ start, position ≤ 2·10⁵
  • позиции строго возрастают
  • 1 ≤ amount ≤ 10⁴
  • 0 ≤ steps ≤ 2·10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКороткий отрезок с нужной суммой СложнаяСумма на длину меньше лимита СложнаяСамая длинная серия станков в бюджет СложнаяСвязь в самом глухом селе СложнаяБольше одинаковых за бюджет Сложная
загружаем Python…
Вход
bushes=[[1, 4], [3, 2], [9, 5]], start=4, steps=5
Ожидается
6

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