列表

详情


2431. 最大限度地提高购买水果的口味

你有两个非负整数数组 pricetastiness,两个数组的长度都是 n。同时给你两个非负整数 maxAmountmaxCoupons

对于范围 [0, n - 1] 中的每一个整数 i:

你想购买一些水果,这样总的味道是最大的,总价不超过 maxAmount

此外,你还可以用优惠券以 半价 购买水果 (向下取整到最接近的整数)。您最多可以使用 maxCoupons 次该优惠券。

返回可购买的最大总口味。

注意:

 

示例 1:

输入: price = [10,20,20], tastiness = [5,8,8], maxAmount = 20, maxCoupons = 1
输出: 13
解释: 可以用以下方法来达到总口味:
- 无优惠券买第一个水果,总价= 0 + 10,总口味= 0 + 5。
- 用优惠券买第二个水果,总价= 10 + 10,总口味= 5 + 8。
- 不购买第三个水果,总价= 20,总口味= 13。
可以证明 13 是所能得到的最大总口味。

示例 2:

输入: price = [10,15,7], tastiness = [5,8,20], maxAmount = 10, maxCoupons = 2
输出: 28
解释: 可以用以下方法使总口味达到 20:
- 不买第一个水果,这样总价= 0,总口味= 0。
- 用优惠券买第二个水果,总价= 0 + 7,总口味= 0 + 8。
- 用优惠券买第三个水果,总价= 7 + 3,总口味= 8 + 20。
可以证明,28 是所能得到的最大总口味。

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int maxTastiness(vector<int>& price, vector<int>& tastiness, int maxAmount, int maxCoupons) { } };

上一题