洛谷P1049 装箱问题
1 //01背包 价值等于体积 求所剩最小体积 2 #include<bits/stdc++.h> 3 using namespace std; 4 const int maxn=35; 5 const int maxv=20005; 6 int c,n,v[maxn],f[maxv]; 7 int main() 8 { 9 scanf("%d%d",&c,&n); 10 for(int i=1;i<=n;++i) scanf("%d",&v[i]); 11 for(int i=1;i<=n;++i) 12 for(int j=c;j>=v[i];--j) 13 f[j]=max(f[j],f[j-v[i]]+v[i]); 14 printf("%d",c-f[c]); 15 return 0; 16 }