一个背包有一定的承重 ,有 件物品。设数组下标从 开始。每件物品都有自己的价值,记录在数组 中,也都有自己的重量,记录在数组 中,每件物品只能选择要装入还是不装入背包,要求在不超过背包承重的前提下,选出的物品总价值最大。输出能装入背包的物品的最大总价值。
输入
输入一行两个整数物品数量 承重 。
接下来输入一行 个整数,第 个整数代表 。
接下来输入一行 个整数,第 个整数代表 。
输出
一行一个整数,代表最大总价值。
样例
标准输入 复制文本 |
4 10 7 3 4 5 42 12 40 25 |
标准输出 复制文本 |
65 |
提示
对样例,物品数量为 ,背包承重为 每个商品重量为 ,价值为 ,选择最后两个物品,重量为 ,价值为 ,没有任何其他方案总价值更高。
可以动态规划方法求解。
分析两种情况: