Ctrl K

Фруктовая корзина с купонами

Средняя
На рынке продаётся n фруктов. Фрукт номер i стоит prices[i] монет и приносит flavor[i] очков вкуса. У вас есть budget монет и coupons купонов. Каждый фрукт можно купить не больше одного раза. На покупку можно применить один купон — тогда фрукт обойдётся в половину цены, округлённую вниз (prices[i] // 2). Купонов на всю корзину не больше coupons, на один фрукт — не больше одного. Суммарная стоимость покупок не должна превышать budget. Верните наибольший суммарный вкус, который можно собрать.
Пример 1
prices=[8, 6, 12], flavor=[4, 7, 9], budget=12, coupons=1 → 16

Берём фрукт за 12 по купону (6) и фрукт за 6 по полной цене: ровно 12 монет и вкус 9 + 7 = 16.

Пример 2
prices=[0, 9], flavor=[5, 6], budget=4, coupons=2 → 11

Первый фрукт бесплатный, второй по купону стоит 9 // 2 = 4. Итого 4 монеты и вкус 11.

Пример 3
prices=[7, 5], flavor=[3, 8], budget=3, coupons=0 → 0
Ограничения
  • 1 ≤ n ≤ 100, len(prices) = len(flavor) = n
  • 0 ≤ prices[i], flavor[i] ≤ 1000
  • 0 ≤ budget ≤ 1000
  • 0 ≤ coupons ≤ 5
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
prices=[8, 6, 12], flavor=[4, 7, 9], budget=12, coupons=1
Ожидается
16

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