Nightingalelyy 2016-10-16 03:15:38
点我顶贴
收藏
删除
0/1背包,物重和价值等价
数组要开的比147大一点
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int i,j;
int w[60000]={0};
int f[60000]={0};
int c,n;
cin>>c;
cin>>n;
for (i=1;i<=n;i++)
cin>>w[i];
for (i=1;i<=n;i++)
for (j=c;j>=w[i];j--)
f[j]=max(f[j],f[j-w[i]]+w[i]);
cout<<f[c]<<endl;
return 0;
}