fts96c 2012-02-04 22:27:00
点我顶贴
收藏
删除
为什么为什么为什么……
#include "stdio.h"
max(int x,int y)
{
if (x>y) return x;
else return y;
}
void main()
{
int v,n,i,j;
int f[20000];
int w[30];
scanf("%d",&v);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&w[i]);
for (j=v;j>=w[i];j--)
f[j]=max(f[j],f[j-w[i]]+w[i]);
}
f[v]=v-f[v];
printf("%d",f[v]);
}