Ctrl K

Места на каждом рейсе

Средняя
Автобусная компания выполняет trips рейсов, пронумерованных от 1 до trips. Каждый заказ orders[i] = [first, last, seats] бронирует по seats мест на каждом рейсе с номерами от first до last включительно. Верните список длины trips, где на позиции i (с нуля) стоит общее число забронированных мест на рейсе с номером i + 1. Проход по всем рейсам каждого заказа слишком медленный при больших диапазонах — попробуйте уложиться в линейное время.
Пример 1
orders=[[1, 3, 4], [2, 2, 6], [3, 4, 1]], trips=4 → [4, 10, 5, 1]

Рейс 1: 4. Рейс 2: 4 + 6 = 10. Рейс 3: 4 + 1 = 5. Рейс 4: 1.

Пример 2
orders=[[2, 2, 7]], trips=3 → [0, 7, 0]

Места заняты только на втором рейсе, на остальных — ноль.

Ограничения
  • 1 ≤ trips ≤ 2·10⁴
  • 1 ≤ len(orders) ≤ 2·10⁴
  • orders[i].length == 3
  • 1 ≤ first ≤ last ≤ trips
  • 1 ≤ seats ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый короткий рывок СредняяПроизведение всех остальных СредняяСтудии для записи СредняяСамый длинный отрезок с заданной суммой СредняяПакет правок на отрезках Средняя
загружаем Python…
Вход
orders=[[1, 3, 4], [2, 2, 6], [3, 4, 1]], trips=4
Ожидается
[4, 10, 5, 1]

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