n видов товаров; товар вида i стоит prices[i]. Вам нужно купить ровно wanted[i] штук товара вида i — ни больше, ни меньше, даже если лишний товар сделал бы покупку дешевле.
Кроме поштучной продажи, есть наборы bundles. Набор bundles[i] — массив длины n + 1: bundles[i][j] — сколько штук товара вида j в него входит, а последнее число — цена набора. Любой набор можно покупать сколько угодно раз.
Верните минимальную сумму, за которую можно собрать нужную корзину.prices=[3, 4], bundles=[[2, 1, 8], [0, 3, 10]], wanted=[2, 3] → 16
Поштучно вышло бы 2·3 + 3·4 = 18. Можно взять первый набор за 8 и докупить два товара второго вида за 8, или второй набор за 10 и два товара первого вида за 6 — в обоих случаях 16. Взять оба набора нельзя: товаров первого вида будет больше нужного.
prices=[1, 1], bundles=[[1, 1, 5]], wanted=[1, 1] → 2
Набор стоит дороже, чем те же товары поштучно, поэтому выгоднее заплатить 2.
prices=[5], bundles=[[2, 7]], wanted=[5] → 19
Набор можно брать несколько раз: два набора за 14 дают 4 товара, пятый покупается за 5. Итого 19.
n == prices.length == wanted.lengthn ≤ 6prices[i] ≤ 100wanted[i] ≤ 10bundles.length ≤ 100bundles[i].length == n + 1bundles[i][j] ≤ 50 для j < n, цена набора bundles[i][n] — от 0 до 1000prices=[3, 4], bundles=[[2, 1, 8], [0, 3, 10]], wanted=[2, 3]
16
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 82 теста на сервере, включая скрытые.