CF1974E Money Buys Happiness
题目描述
作为一名物理学家,Charlie 喜欢以简单而精确的方式规划自己的生活。
在接下来的 $m$ 个月里,Charlie 从零开始,每月努力工作并赚取 $x$ 英镑。在第 $i$ 个月($1 \le i \le m$),他有一次机会花费 $c_i$ 英镑来获得 $h_i$ 的幸福值。
不允许借钱。在第 $i$ 个月赚到的钱只能在之后的第 $j$ 个月($j>i$)花费。
由于物理学家不会编程,请你帮 Charlie 求出他能获得的最大幸福值总和。
输入格式
输入的第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。
每个测试用例的第一行包含两个整数 $m$ 和 $x$($1 \le m \le 50$,$1 \le x \le 10^8$),分别表示总月数和每月工资。
接下来的 $m$ 行中,第 $i$ 行包含两个整数 $c_i$ 和 $h_i$($0 \le c_i \le 10^8$,$1 \le h_i \le 10^3$),分别表示第 $i$ 个月的花费和可获得的幸福值。注意,有些幸福值可能是免费的(即某些 $c_i=0$)。
保证所有测试用例中 $\sum_i h_i$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出一个整数,表示 Charlie 能获得的最大幸福值总和。
说明/提示
在第一个测试用例中,Charlie 只在月末拿到工资,因此无法购买任何东西。
在第二个测试用例中,Charlie 在第一个月获得了免费的幸福值。
在第三个测试用例中,最优策略是在第二个月购买幸福值。即使最后还有剩余的钱,Charlie 也无法回到过去获得第一个月的幸福值。
由 ChatGPT 4.1 翻译