fork download
  1. /*
  2.  * nerdyninja
  3.  * Omkar Prabhu <omkar.prabhu15@siesgst.ac.in>
  4.  */
  5. #include <bits/stdc++.h>
  6.  
  7. using namespace std;
  8.  
  9. int knapSack(int W, int wt[], int val[], int n)
  10. {
  11. int i, w;
  12. int K[n+1][W+1];
  13. for (i = 0; i <= n; i++) {
  14. for (w = 0; w <= W; w++) {
  15. if (i==0 || w==0)
  16. K[i][w] = 0;
  17. else if (wt[i-1] <= w)
  18. K[i][w] = max(val[i-1] + K[i-1][w-wt[i-1]], K[i-1][w]);
  19. else
  20. K[i][w] = K[i-1][w];
  21. }
  22. }
  23. return K[n][W];
  24. }
  25.  
  26.  
  27. int main()
  28. {
  29. // freopen("in", "r", stdin);
  30. // freopen("out", "w", stdout);
  31. ios_base::sync_with_stdio(0);
  32. // Start Solution here
  33. int t;
  34. cin >> t;
  35. while (t--) {
  36. int n, w;
  37. cin >> n >> w;
  38. int val[n], wt[n];
  39. for (int i = 0; i < n; i++) cin >> val[i];
  40. for (int i = 0; i < n; i++) cin >> wt[i];
  41. printf("%d\n", knapSack(w, wt, val, n));
  42. }
  43. // End Solution here
  44. cerr << "Solved in " << clock() << " ms" << endl;
  45. return 0;
  46. }
Success #stdin #stdout #stderr 0s 4440KB
stdin
Standard input is empty
stdout
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
stderr
Solved in 4951 ms