В load[i] — сколько заказов такси ожидается в зоне на i-й минуте смены. Диспетчер шлёт операции списком ops:
["add", l, r, x] — к минутам с l по r включительно прибавить x (концерт закончился — плюс 40 заказов, отменили рейс — минус 15);
["max", l, r] — узнать наибольшую нагрузку на минутах с l по r включительно.
Верните список ответов на запросы max в порядке их появления. Индексы с нуля, 0 ≤ l ≤ r < n.
В работе: Прогноз пиковой нагрузки по зоне, чтобы заранее вывести на линию водителей.
Пример 1
load = [3, 1, 4, 1, 5] ops = [["max", 0, 2], ["add", 1, 3, 10], ["max", 0, 2], ["max", 4, 4]]
[4, 14, 5]
После прибавления нагрузка [3, 11, 14, 11, 5]: максимум на 0..2 — 14.
Пример 2
load = [7] ops = [["add", 0, 0, -9], ["max", 0, 0]]
[-2]
После поправок нагрузка бывает отрицательной — это просто число.
Ограничения
- 1 ≤ n ≤ 10⁵, 0 ≤ длина
ops≤ 10⁵ - −10⁹ ≤
load[i], x ≤ 10⁹ - Лимит — 3 с на тест (3000 мс).
print() и console.log() уходят в консоль.
def taxi_load_peaks(load, ops):
Источник: наша задача на данных Яндекса. Условие пересказано своими словами.
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.