0-1背包问题
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#define MAX 1010
int f[MAX],value[MAX],cost[MAX];
main()
{
int i,v,n,t,j;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&v);
memset(f,0,sizeof(f));
for(i=0;i<n;i++)scanf("%d",&value[i]);
for(i=0;i<n;i++)scanf("%d",&cost[i]);
for(i=0;i<n;i++)
for(j=v;j>=cost[i];j--)
f[j]=max(f[j-cost[i]]+value[i],f[j]);
printf("%d\n",f[v]);
}
return 0;
}