讨论 / 90分程序找错啊!!第二个点!!
892611452 2010-07-19 07:10:00
点我顶贴 收藏 删除
#include<iostream>

using namespace std;

int b,c,v[22],a[2][35001],i,j;

int main()

{ cin>>c>>b; for(i=1;i<=b;i++)cin>>v[i];

for(i=0;i<=max(v[b]-1,c);i++)a[c%2][j]=0;

for(i=v[b];i<=c;i++)a[c%2][j]=v[b];

for(i=b-1;i>1;i--){

for(j=0;j<=max(v[i]-1,c);j++)a[i%2][j]=a[(i+1)%2][j];

for(j=v[i];j<=c;j++)a[i%2][j]=max(a[(i+1)%2][j],a[(i+1)%2][j-v[i]]+v[i]);}

a[1][c]=max(a[0][c],a[0][c-v[1]]+v[1]);

cout<<a[1][c];

return 0;}

查看更多回复
提交回复