#include<iostream>
#define N 1005
struct bag
{
int v;
int p;
};
int t;
int n,v;
bag bags[N];
int dp[N];
int main()
{
while (std::cin>>t){
for(int k=0;k!=t;k++){
std::cin>>n>>v;
for(int i=0;i!=n;i++){
std::cin>>bags[i].p;
}
for(int i=0;i!=n;i++){
std::cin>>bags[i].v;
}
for(int i=0;i!=n;i++){
for(int j=v;j>=bags[i].v;j--){
dp[j]=std::max(dp[j],dp[j-bags[i].v]+bags[i].p);
}
}
std::cout<<dp[v]<<std::endl;
memset(bags,0,sizeof(bags));
memset(dp,0,sizeof(dp));
}
}
}
HDU-2602Bone Collector
最新推荐文章于 2022-04-03 11:21:11 发布