题目
- 题目:给出n个物品的体积,选取其中若干个物品装入容量为v的箱子中,剩余空间最小为多少?输出这个最小值.
- 输入格式:
- 第一行,输入箱子的容量v.
- 第二行,输入物品的个数n.
- 接下来n行,输入每个物品的体积.
- 输出格式:仅一行,输出箱子最小剩余空间.
- 例子:
- input:
- 24
- 6
- 8
- 3
- 12
- 7
- 9
- 7
- output:
- 0
分析
- 用
f[v]
来表示前i
个物品放入容量为v
的箱子中的最大体积,d[i]
表示第i
个物品的体积,则状态转移方程为f[v]=max(f[v],f[v-d[i]]+d[i])
,我们要的结果就在f[v]
中.
程序
#include<cstdio>
#include<cstring>