
#include<stdio.h>
#include<string.h>
int dp[1002];
struct none
{
int vo;
int value;
}a[1002];
int max(int a,int b)
{return a>b?a:b;}
int main()
{
int N,V,T,i,j;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&N,&V);
memset(dp,0,sizeof(dp));
for(i=0;i<N;i++)
scanf("%d",&a[i].value);
for(i=0;i<N;i++)
scanf("%d",&a[i].vo);
for(i=0;i<N;i++)
for(j=V;j>=a[i].vo;j--)
dp[j]=max(dp[j],dp[j-a[i].vo]+a[i].value);
printf("%d\n",dp[V]);
}
return 0;
}
hdu 2602 Bone Collector,布布扣,bubuko.com
原文地址:http://blog.csdn.net/lihaogegehuting/article/details/38094003