1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 5 using namespace std; 6 7 int main(){ 8 int T; 9 cin >> T; 10 while(T--){ 11 int N, V; 12 cin >> N>>V; 13 vector<int> value(N), volume(N); 14 for(int i = 0; i < N; i ++) cin >>value[i]; 15 for(int i = 0; i < N; i ++) cin >>volume[i]; 16 vector<int> dp(V+1,0); 17 18 for(int i = 0; i < N; i ++ ){ 19 for(int j = V; j >= volume[i]; j --){ 20 dp[j] = max(dp[j],dp[j-volume[i]]+value[i]); 21 } 22 } 23 cout<< dp[V]<<endl; 24 } 25 return 0; 26 }