Alice最近在抽奖活动中抽中了一等奖。她可以免费获得一些礼品作为奖励。
当前有n个不同的礼品排成一排,其中第i个礼品的重量为w[i],价值为v[i]。显然每个礼品只能被Alice拿走一个。为了避免在选择礼品上耽误太多时间,Alice只想选择一段连续区间中的礼品带走。
根据活动规则要求,Alice选择带走礼品的总重量不能超过m。请编写一个程序,帮助Alice选择一段连续的礼品,使得这段礼品总重量不超过m,且价值之和最大。
输入格式
从文件 gift.in 中读入数据。
输入第一行包含两个整数n和m,表示礼品的个数和可以带走礼品的总重量上限。
之后n行,每行两个整数w[i]和v[i],分别表示第个礼品的重量和价值。
输出格式
输出到文件 gift.out 中。
输出只有一行,该行仅包含一个整数,表示Alice挑选的礼品总价值最大是多少。
样例:
9 1615
914 790
574 220
725 560
303 179
611 257
449 508
698 310
858 335
980 32
对应输出:
1010