#include<cstdio>
#include<cstring>
#define MAX(x,y) ((x)>(y)?(x):(y))
long long dp[1010];
int v[1010],w[1010];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,col;
scanf("%d%d",&n,&col);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
for(int i=1;i<=n;i++)
scanf("%d",&w[i]);
memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++)
{
for(int j=col;j>=w[i];j--)
{
dp[j]=MAX(dp[j],dp[j-w[i]]+v[i]);
}
}
printf("%lld\n",dp[col]);
}
}
hdu 2602 01背包
最新推荐文章于 2024-10-01 18:52:56 发布