3 solutions
-
-2
#include<。。。。。。> #define int long long using namespace std; int t,v,n; int f[-201][10011]; int a[10001]; int b[10001]; main(){ cin>>t; while(t--){ memset(f,0,sizeof(f)); cin>>n>>v; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>b[i]; for(int i=1;i<=n;i++){ for(int j=0;j<=v;j++){ f[i][j]=f[i-1][j]; if(j>=b[i]){ f[i][j]=max(f[i][j],f[i-1][j-b[i]]+a[i]); } } } cout<<f[n][v]<<endl; } return 0; }
Information
- ID
- 494
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 2
- Tags
- # Submissions
- 143
- Accepted
- 43
- Uploaded By