Войти Регистрация
Алгоритмы

92. Загрузка фуры товарами с остатками

Сложная

Фуру Wildberries грузят на склад в Казань, грузоподъёмность — capacity десятков килограммов. Товар типа i весит weights[i], приносит values[i] рублей маржи и лежит на складе в количестве counts[i] коробок.

Верните максимальную маржу груза, вес которого не превышает capacity.

В работе: Подбор набора с лимитом по остаткам: закупка, загрузка транспорта, бюджет на пакеты услуг.

Пример 1

Ввод
weights = [3, 4, 5]
values = [40, 50, 70]
counts = [2, 1, 3]
capacity = 10
Вывод
140

Две коробки по 5 — 140; 3 + 3 + 4 даёт только 130.

Пример 2

Ввод
weights = [7]
values = [100]
counts = [5]
capacity = 6
Вывод
0

Ни одна коробка не влезает.

Ограничения

  • 1 ≤ n ≤ 100
  • 1 ≤ weights[i] ≤ capacity ≤ 5000
  • 1 ≤ values[i] ≤ 10⁴
  • 1 ≤ counts[i] ≤ 1000
  • Лимит — 3 с на тест (3000 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def max_truck_value(weights, values, counts, capacity):
ДПРюкзак с ограничениямиДвоичное разбиениецельn2

Источник: наша задача на данных Wildberries. Условие пересказано своими словами.