Ctrl K

Акции на ограниченный бюджет

Средняя
Есть n акций. Сегодня акция i стоит price_now[i], а через год будет стоить price_later[i]. У вас есть budget денег. Каждую акцию можно купить не больше одного раза, а суммарная стоимость покупок не должна превышать бюджет. Через год вы продаёте всё купленное. Верните наибольшую прибыль — разницу между выручкой и потраченным. Можно ничего не покупать, тогда прибыль равна 0.
Пример 1
price_now=[4, 7, 3, 5], price_later=[6, 12, 3, 9], budget=12 → 9

Акция 2 ничего не приносит (3 → 3). Лучше всего купить акции 1 и 3 за 7 + 5 = 12 и продать за 12 + 9 = 21: прибыль 9.

Пример 2
price_now=[10, 8], price_later=[20, 15], budget=5 → 0

Денег не хватает ни на одну акцию, прибыль 0.

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

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