hdu 2602

时间:2021-09-24 08:59:56

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<vector>
#include<queue>
#include<map>
#include<iterator>
#include<vector>
#include<set>
using namespace std; int dp[],w[],v[]; int main()
{
int cas,n,vol;
scanf("%d",&cas);
while(cas--)
{
scanf("%d %d",&n,&vol);
memset(dp,,sizeof(dp)); for(int i=;i<=n;i++)
scanf("%d",&w[i]);
for(int i=;i<=n;i++)
scanf("%d",&v[i]); for(int i=;i<=n;i++)
for(int j=vol;j>=v[i];j--)
dp[j]=max(dp[j],dp[j-v[i]]+w[i]);
printf("%d\n",dp[vol]);
}
return ;
}