#每日一题# 打卡day4。3.18美团笔试4

**题目描述**

现在商店里有N个物品,每个物品有原价和折扣价。

小美想要购买商品。小美拥有X元,一共Y张折扣券。

小美需要最大化购买商品的数量,并在所购商品数量尽量多的前提下,尽量减少花费。

你的任务是帮助小美求出最优情况下的商品购买数量和花费的钱数。

**输入描述**

第一行三个整数,以空格分开,分别表示N,X,Y。

接下来N行,每行两个整数,以空格分开,表示一个的原价和折扣价。

1≤N≤100, 1≤X≤5000, 1≤Y≤50,每个商品原价和折扣价均介于[1,50]之间。

**输出描述**

一行,两个整数,以空格分开。第一个数字表示最多买几个商品,第二个数字表示在满足商品尽量多的前提下所花费的最少的钱数。

**示例1**

**输入**

3 5 1

4 3

3 1

6 5

**输出**

2 5

### 思路及代码

定义状态dp[i,j,k]的含义为:考虑前i个物品,剩余金额为j,剩余优惠券为k,可以购买的最大物品数。

每个物品可以考虑的选择有:不买、全价买、优惠券买。枚举更新最大值即可。
展开
AiW于2023-03-28 09:01发布的图片
AiW于2023-03-28 09:01发布的图片
评论