题目链接:点击这里
把每个物品的体积当成价值
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 20010;
int f[N];
int main()
{
int m, n; // m表示箱子容量,n表示物品数
scanf("%d%d", &m, &n);
for(int i = 1; i <= n; ++i)
{
int v;
scanf("%d", &v);
for(int j = m; j >= v; --j)
f[j] = max(f[j], f[j - v] + v);
}
printf("%d\n", m - f[m]);
return 0;
}