0
王乃山
新手守护
新手守护
题目描述
很久很久以前,巨龙突然出现,带来灾难并带走了公主然后又消失不见,国王十分着急,赶紧召集天下勇士拯救公主,并承诺谁救了公主就把公主嫁给他。一位叫达拉崩巴的勇士,在国王的鼓励下,开始了拯救公主的征程。
达拉崩巴拥有很强大的力量,他的武力值为x(500<=x<=1000),虽然很强大但并不表示他能够战胜所有敌人。勇士在途中会接连遭遇n(10<=n<=1000)个巨龙军团的士兵,每个士兵具有一定的武力bi(0<=bi<=2000),战胜每个士兵会同时获得ai(1<=ai<=100)个宝石,宝石可以用来献给他心爱的公主。只有勇士达拉崩巴的武力值超过士兵的武力值,他才能战胜士兵,并且勇士无法挑战连续的两个士兵,因为这样会惊动巨龙军团的护卫队,导致巨龙隐匿起来。
达拉崩巴希望智商更高的你,帮助他写一个程序,告诉他应该如何选择士兵,使得他最终能够获得最多的宝石 ,最多的宝石数量是多少?
输入格式
第一行两个整数,n(10<=n<=1000)和x,分别表示拯救公主的途中遇到的士兵的数量以及勇士的武力值
接下来n行,每行两个整数bi ai,分别表示第i个士兵的能力值bi以及消灭这个士兵勇士能够获取的宝石的数量
输出格式
一行,一个整数,表示勇士能够获取到宝石的最大值
输入输出样列
输入样例1:复制
5 1000 500 3 700 10 900 8 800 20 2000 21
输出样例1:复制
30
输入样例2:复制
5 1000 500 5 980 19 900 12 800 10 950 13
输出样例2:复制
32
说明
【样例说明1】:
勇士选择消灭能力值为700的士兵获得10颗宝石,然后消灭能力值为800的士兵获得20颗宝石,获得宝石的总数量是30
【样例说明2】:
勇士选择消灭能力值为980的士兵获得19颗宝石,然后消灭能力值为950的士兵获得13颗宝石,一共获得32颗宝石
【耗时限制】1000ms 【内存限制】256MB
0
0
0
0
0
0
0
0