#P1012. 三属性均衡训练

三属性均衡训练

题目描述

小达正在锻炼自己的三项战斗属性:力量、敏捷和智力。

nn 种训练项目,每种项目恰好只提升其中一种属性。

具体来说,进行第 ii 种训练时,可以提升对应属性 viv_i11 表示力量,22 表示敏捷,33 表示智力)的经验值 aia_i,同时消耗体力 cic_i

小达可以自由选择若干种训练项目(也可以什么都不做),但总消耗的体力不能超过 xx

他希望在体力允许的范围内,让自己的三项属性中最弱的一项尽可能高。

请计算:在总消耗体力不超过 xx 的条件下,三项属性经验值的最小值最大可以是多少。

输入格式

第一行两个整数 nnxx,表示训练项目的数量和总体力消耗限制。

接下来 nn 行,每行 33 个整数 vi, ai, civ_i,\ a_i,\ c_i,分别表示第 ii 种训练项目的属性类别、提升的经验值和消耗的体力。

输出格式

输出在总消耗体力不超过 xx 的条件下,三项属性经验值的最小值最大可能值。

样例

5 25
1 8 5
2 3 5
2 7 10
3 2 5
3 3 10
3
2 5000
1 200000 1
2 200000 1
0

样例1解释

各训练项目的效果如下:

  • 项目 11:提升力量 88,消耗体力 55
  • 项目 22:提升敏捷 33,消耗体力 55
  • 项目 33:提升敏捷 77,消耗体力 1010
  • 项目 44:提升智力 22,消耗体力 55
  • 项目 55:提升智力 33,消耗体力 1010

若小达选择项目 11224455,总消耗体力为 5+5+5+10=255+5+5+10=25,三项属性经验值分别为:力量 88,敏捷 33,智力 55。此时最弱的一项是敏捷的 33

无法在总消耗体力 25\le 25 的条件下,让三项属性经验值都达到 44 或以上,因此输出 33

数据范围

对于 30%30\% 的数据,1n201\le n\le 20

对于另外 20%20\% 的数据,1n50001 \le n \le 50001x50001 \le x \le 50001vi31\le v_i\le 31ai2×1051\le a_i\le 2\times10^5ci=1c_i=1

对于 100%100\% 的数据,1n50001 \le n \le 50001x50001 \le x \le 50001vi31\le v_i\le 31ai2×1051\le a_i\le 2\times10^51cix1\le c_i\le x