#836. 电脑维修店的差评危机

电脑维修店的差评危机

题目背景

你经营着一家电脑维修店,今天一共收到了 N 台需要维修的电脑。

修理第 i 台电脑需要花费 t_i 个小时,修好后顾客本来愿意支付 E_i 元维修费。

但是顾客们非常缺乏耐心!除了这台电脑本身的修理时间外,在动手修这台电脑之前,顾客每等待 1 个小时,就会因为生气而扣除你 D_i 元维修费。(如果扣到负数,你可以选择拒接这单生意)。

今天你最多只能工作 T 个小时。请问你应该挑选哪些电脑维修,并且按什么顺序修,才能让你今天赚到的钱最多?

(注:如果选择修某台电脑,它的最终收益 = E_i - (它之前的累计耗时) × D_i )

题目描述

给定 N 台电脑的修理时间 t_i、基础维修费 E_i 和每小时扣费 D_i,以及总工作时间 T。选择要修理的电脑及其顺序,使得在总时间不超过 T 的条件下获得最大总收益。

输入格式

第一行包含两个整数 N 和 T,表示电脑总数和你的总工作时间。

接下来 N 行,每行三个整数 t_i、E_i 和 D_i,分别表示修理耗时、基础维修费、每等待1小时扣除的费用。

输出格式

输出一个整数,表示你今天能赚到的最大总金额。

样例输入

2 10
3 100 10
4 150 20

样例输出

210

样例解释 方案一:先修电脑1,再修电脑2。 修电脑1耗时3小时,之前无需等待,赚 100 元。 修电脑2耗时4小时,它等待了电脑1的3小时,扣除 3 × 20 = 60 元。赚 150 - 60 = 90 元。 总收益:100 + 90 = 190 元。

方案二:先修电脑2,再修电脑1。 修电脑2耗时4小时,之前无需等待,赚 150 元。 修电脑1耗时3小时,它等待了电脑2的4小时,扣除 4 × 10 = 40 元。赚 100 - 40 = 60 元。 总收益:150 + 60 = 210 元。

所以最大收益为 210 元。

数据范围

1 ≤ N ≤ 100,1 ≤ T ≤ 1000。 1 ≤ t_i ≤ 50,1 ≤ E_i ≤ 100000,1 ≤ D_i ≤ 100。