CF480D.Parcels
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 n 件包裹,每个包裹是一个盒子,都有它自身的质量和载重 (即它上方能承受的最大质量)。scx 最近得到了一个新的包裹处理系统,这个系统以如下方式工作。初始时,有一个 (可以堆放盒子的) 平台,它的载重为 S,接下来,你能以如下的规则在平台上堆放盒子:
如果平台是空的,你可以将盒子堆放在平台上,否则,你只能在新的盒子放在最高的盒子上面。
任何时刻,(平台上) 所有盒子的总质量不能超过 S (即平台的载重)。
对任意一个盒子,任何时刻,在它上面的所有盒子的总质量不能超过这个盒子的载重。
并且你只能取走当前位于最上面的盒子 (即形成栈型结构)。
系统接收到了这 n 件包裹,已知第 i 个包裹在时刻 ini 出现,它的质量和载重分别为 wi,si,每个包裹都有它的价值,其中第 i 个包裹的价值为 vi。然而,为了获得 (赚得) 这 vi 的价值,这个系统要求它刚好在时刻 outi 被出售,否则将无法获得任何价值。于是,scx 可以选择跳过部分包裹 (即不接收这些包裹),当然她也无法获得任何价值。
任何操作所花费的时间可以忽略不计,这意味着你可以在一个时刻做多件事情 (比如取走若干包裹,在对方若干包裹)。
注意一旦一个包裹被取走后,它就不会影响后续对包裹的操作。
由于这系统非常复杂,并且包裹数有很多,scx 想要知道如果她合理利用这个系统,她最多能得到多少钱。
输入格式
第一行包含两个非负整数 n,S(n≤500,S≤1000) ,表示包裹的个数和平台的载重。
接下来的 n 行,每行包含 5 个非负整数 ini,outi,wi,si,vi(0≤ini<outi<2n;wi,si≤1000;1≤vi≤106),保证不存在两个包裹的出现时间 (ini) 和出售时间 (outi) 均相同。
输出格式
输出一行一个整数,表示 scx 能得到的价值的最大值。
输入输出样例
输入#1
3 2 0 1 1 1 1 1 2 1 1 1 0 2 1 1 1
输出#1
3
输入#2
5 5 0 6 1 2 1 1 2 1 1 1 1 3 1 1 1 3 6 2 1 2 4 5 1 1 1
输出#2
5
输入解题思路,AI测评打分。不知道怎么写?