CF480D.Parcels

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 n 件包裹,每个包裹是一个盒子,都有它自身的质量和载重 (即它上方能承受的最大质量)。scx 最近得到了一个新的包裹处理系统,这个系统以如下方式工作。初始时,有一个 (可以堆放盒子的) 平台,它的载重为 S,接下来,你能以如下的规则在平台上堆放盒子:

如果平台是空的,你可以将盒子堆放在平台上,否则,你只能在新的盒子放在最高的盒子上面。
任何时刻,(平台上) 所有盒子的总质量不能超过 S    (即平台的载重)。
对任意一个盒子,任何时刻,在它上面的所有盒子的总质量不能超过这个盒子的载重。
并且你只能取走当前位于最上面的盒子 (即形成栈型结构)。

系统接收到了这 n 件包裹,已知第 i 个包裹在时刻 iniin_i 出现,它的质量和载重分别为 wi,siw_i,s_i,每个包裹都有它的价值,其中第 i 个包裹的价值为 viv_i。然而,为了获得 (赚得) 这 viv_i 的价值,这个系统要求它刚好在时刻 outiout_i 被出售,否则将无法获得任何价值。于是,scx 可以选择跳过部分包裹 (即不接收这些包裹),当然她也无法获得任何价值。

任何操作所花费的时间可以忽略不计,这意味着你可以在一个时刻做多件事情 (比如取走若干包裹,在对方若干包裹)。

注意一旦一个包裹被取走后,它就不会影响后续对包裹的操作。

由于这系统非常复杂,并且包裹数有很多,scx 想要知道如果她合理利用这个系统,她最多能得到多少钱。

输入格式

第一行包含两个非负整数 n,S(n≤500,S≤1000)n,S(n≤500,S≤1000) ,表示包裹的个数和平台的载重。

接下来的 n 行,每行包含 5 个非负整数 ini,outi,wi,si,vi(0≤ini<outi<2n;wi,si≤1000;1≤vi≤106)in_i,out_i,w_i,s_i,v_i(0≤in_i<out_i<2n;w_i,s_i≤1000;1≤v_i≤10^6),保证不存在两个包裹的出现时间 (iniin_i) 和出售时间 (outiout_i) 均相同。

输出格式

输出一行一个整数,表示 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测评打分。不知道怎么写?

首页