宝石项链
时间限制:1秒 内存限制:256M
【问题描述】
小H在闲逛珠宝店时,买到了一个中意的项链。很自然地,他想从他收集的 \(N\) 块宝石中选出最好的那些镶在项链上。对于第 \(i\) 块宝石,它的重量为 \(w_i\),并且它在镶上项链后能增加的魅力值为 \(p_i\)。由于小H只能忍受重量不超过 \(M\) 的项链,他可能无法把所有喜欢的宝石都镶上。
于是小H找到了你,告诉了你他所有宝石的重量和魅力值,以及他能忍受的重量,希望你能帮他计算一下,按照最合理的方案镶嵌宝石的话,项链的魅力值最多能增加多少。
【输入格式】
第 \(1\) 行包含 \(2\) 个整数:\(N\) 和 \(M\),他们的意义如题目描述,接下来的 \(N\) 行,每行两个的整数:\(w_i ,p_i\) \((1≤w_i≤400,1≤p_i≤100)\),分别为第 \(i\) 块宝石的重量与能为小H增加的魅力值。
【输出格式】
输出 \(1\) 个整数,表示按照镶嵌要求,小H最多能增加的魅力值。
【输入输出样例1】
Input
4 6
1 4
2 6
3 12
2 7
Output
23
【输入输出样例1解释】
小H有 \(4\) 块宝石,他能忍受重量最大为 \(6\) 的项链。那么小H把除了第二块宝石的其余所有宝石都镶上项链,这样他能增加 \(4+12+7=23\) 的魅力值,并且所有宝石的重量为 \(1+2+3≤6\),同样符合要求。
【数据限制】
\(100\%\) 的数据满足:\(1≤N≤3500 ,1≤M≤13000\)
【来源】
Mr.he