[Usaco2005 Dec]Scales 天平
约翰有一架用来称量奶牛体重的天平,以及 个质量已知的砝码。称量时,他将奶牛放在天平的一侧,并在另一侧放置若干砝码,直至天平平衡。此时,所放砝码的总质量就是奶牛的质量。
天平每一侧所能承受的最大质量为 。如果某一侧物体的总质量大于 ,天平就会损坏。
所有砝码已按质量从小到大排列。设第 个砝码的质量为 ,则从第 个砝码开始,每个砝码的质量至少等于前两个砝码的质量之和,即:
请从这些砝码中选择若干个,使其总质量不超过 ,并求出能够得到的最大总质量。
输入格式
第一行包含两个用空格分隔的正整数 和 ,分别表示砝码数量和天平每一侧所能承受的最大质量。
接下来 行,每行包含一个正整数,表示一个砝码的质量。输入的砝码质量保证按不下降顺序排列。
输出格式
输出一个整数,表示不超过 的最大砝码质量之和。
样例输入
3 15
1
10
20
样例输出
11
样例解释
共有 个砝码,质量分别为 、 和 ,天平每一侧最多承受质量 。
选择质量为 和 的两个砝码,可以得到总质量 。其他砝码组合的总质量要么不超过 ,要么超过天平的承重上限,因此答案为 。
数据范围
- ;
- ;
- 每个砝码的质量均为正整数,且其数值可以用 位二进制整数表示;
- 砝码质量构成不下降序列;
- 对于 ,满足 。
来源与许可
本题为 USACO 2005 December 试题「Scales 天平」,题面与测试数据整理自 BZOJ。
样例 1
输入
3 15
1
10
20
输出
11