Ctrl K

Сколько влезет в бюджет

Лёгкая
В магазине лежат товары, их цены — массив prices. Есть несколько покупателей, у каждого свой бюджет: budgets[i]. Для каждого покупателя определите, какое наибольшее количество разных товаров он может купить, чтобы суммарная стоимость не превысила его бюджет. Каждый товар есть в одном экземпляре, но покупатели не мешают друг другу: каждый выбирает из полного набора. Верните массив ответов в том же порядке, что и budgets.
Пример 1
prices=[7, 3, 9, 1], budgets=[4, 12, 100, 2] → [2, 3, 4, 1]

С 4 можно купить 1 и 3; с 12 — 1, 3 и 7; со 100 — всё; с 2 — только товар за 1.

Пример 2
prices=[5, 5, 5], budgets=[14] → [2]

Двух предметов хватает на 10, третий уже не влезает.

Ограничения
  • 1 ≤ len(prices), len(budgets) ≤ 10⁵
  • 1 ≤ prices[i], budgets[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодравнять числа прибавлением СредняяКрасота клумб на бюджете СложнаяКовёр на окрашенные отрезки СредняяОбщая настройка с разной ценой шага СложнаяСамый богатый ряд домов Средняя
загружаем Python…
Вход
prices=[7, 3, 9, 1], budgets=[4, 12, 100, 2]
Ожидается
[2, 3, 4, 1]

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