http://acm.hdu.edu.cn/showproblem.php?pid=2602
#include<iostream> #include<string> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #include<cctype> #include<iomanip> using namespace std; const int maxn=100000; int m[maxn]; int v[maxn]; int dp[maxn]; int main(){ int T; cin>>T; while(T--){ int n,V; cin>>n>>V; for(int i=0;i<n;++i)cin>>m[i]; for(int i=0;i<n;++i)cin>>v[i]; memset(dp,0,sizeof(dp)); for(int i=0;i<n;++i) for(int j=V;j>=v[i];--j) if(dp[j]<dp[j-v[i]]+m[i]) dp[j]=dp[j-v[i]]+m[i]; cout<<dp[V]<<endl; } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)