Ctrl K

Партии с одной линии

Средняя
На заводе lines сборочных линий, и они собирают одно и то же изделие из деталей kinds разных видов. Но рецепты у линий разные: линии i на одно изделие нужно recipes[i][j] деталей вида j. На складе лежит stock[j] деталей вида j. Недостающие детали можно докупить: одна деталь вида j стоит prices[j] монет, а всего можно потратить не больше budget монет. Все изделия должны быть собраны на одной и той же линии — её вы выбираете сами. Верните наибольшее число изделий, которое удастся собрать.
Пример 1
kinds=2, lines=2, budget=12, recipes=[[2, 1], [1, 3]], stock=[4, 0], prices=[3, 2] → 3

На линии 0 три партии требуют 6 и 3 детали: докупаем 2 детали вида 0 и 3 вида 1 за 2·3 + 3·2 = 12. Четыре партии стоили бы 4·3 + 4·2 = 20. На линии 1 удаётся собрать лишь 2 партии (6 деталей вида 1 за 12 монет). Ответ 3.

Пример 2
kinds=1, lines=1, budget=0, recipes=[[5]], stock=[12], prices=[7] → 2

Денег нет, а запаса хватает на 12 // 5 = 2 партии.

Ограничения
  • 1 ≤ kinds, lines ≤ 100
  • 0 ≤ budget ≤ 10⁸
  • len(recipes) = lines, len(recipes[i]) = kinds
  • 1 ≤ recipes[i][j] ≤ 100
  • len(stock) = len(prices) = kinds
  • 0 ≤ stock[j] ≤ 10⁸
  • 1 ≤ prices[j] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПоиск в сдвинутом отсортированном массиве СредняяПервая и последняя копия СредняяПоиск в таблице-цепочке СредняяПоиск в сдвинутом массиве с повторами СредняяМинимум в сдвинутом списке Средняя
загружаем Python…
Вход
kinds=2, lines=2, budget=12, recipes=[[2, 1], [1, 3]], stock=[4, 0], prices=[3, 2]
Ожидается
3

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