Ctrl K

Конвейер без пауз

Средняя
На линии стоят len(speeds) станций, через которые по очереди проходит каждый из len(sizes) заказов — строго в порядке массива sizes. Станция i тратит на заказ j ровно speeds[i] · sizes[j] единиц времени. Заказ нельзя задерживать между станциями: закончив работу, станция сразу передаёт его следующей, и та должна быть в этот момент свободна. Станция одновременно занята только одним заказом. Первый заказ начинается в момент 0. Верните наименьший момент, когда последняя станция закончит последний заказ.
Пример 1
speeds=[2, 1], sizes=[3, 1] → 10

Первый заказ: станция 0 работает с 0 до 6, станция 1 — с 6 до 9. Второй заказ стартует в 7: станция 0 занята с 7 до 9 и передаёт его ровно в момент, когда станция 1 освободилась; та заканчивает в 10.

Пример 2
speeds=[3], sizes=[2, 5] → 21

Станция одна: 3·2 + 3·5 = 21.

Пример 3
speeds=[1, 4, 2], sizes=[2, 3, 1] → 30
Ограничения
  • 1 ≤ len(speeds), len(sizes) ≤ 5000
  • 1 ≤ speeds[i], sizes[j] ≤ 5000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиХватит ли мест в шаттле СредняяКто досыпает кофе СредняяВолны накопленных сумм СредняяСнова у причала ЛёгкаяПиковая высота штоков насоса Сложная
загружаем Python…
Вход
speeds=[2, 1], sizes=[3, 1]
Ожидается
10

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