题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2602
水的不行....
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=1000+5;
int d[maxn],w[maxn];
// d[i]空间i下最大价值
int main()
{int T,N,V,v; cin>>T;while(T--){cin>>N>>V;memset(d,0,sizeof(d));for(int i=0;i<N;i++)scanf("%d",&w[i]);for(int i=0;i<N;i++){scanf("%d",&v);for(int j=V;j>=0;j--)if(j>=v) d[j]=max(d[j-v]+w[i],d[j]);}cout<<d[V]<<endl;}return 0;
}