你有一个体积为m的背包,希望带些东西上山郊游。
你有n个物品可选,第i个物品有体积x_i和价值w_i。你希望选取其中的若干个放入背包中,使得体积之和小于等于m的前提下,价值之和最大。
很快你发现了问题:物品的体积和价值好像有点过大了。而你需要在2s内解决这个问题,否则将会错过上山的公交车。加油!
第一行两个整数n,m。
接下来n行每行两个整数x_i,w_i,表示第i个物品的体积和价值。
5 100 95 80 4 18 3 11 99 100 2 10
101
对于20\%的数据,保证x_i\leq 1500。
对于另外30\%的数据,保证w_i\leq 1500。
对于100\%的数据,保证2\leq n\leq 40,0\leq m\leq10^{18},0\leq x_i,w_i\leq 10^{15}。
#### 样例解释
你可以选择第一个、第三个和第五个物品,体积和为100,价值和为101,是最大的。
时间限制 | 2 秒 |
内存限制 | 256 MB |