fork download
  1. import java.util.Scanner;
  2. import java.lang.Math;
  3.  
  4. public class Main {
  5. public static void main(String[] args) {
  6. Scanner scanner = new Scanner(System.in);
  7.  
  8. int n = scanner.nextInt();
  9. int W = scanner.nextInt();
  10.  
  11. int[] weights = new int[n];
  12. int[] values = new int[n];
  13.  
  14. for (int i = 0; i < n; i++) {
  15. weights[i] = scanner.nextInt();
  16. }
  17.  
  18. for (int i = 0; i < n; i++) {
  19. values[i] = scanner.nextInt();
  20. }
  21.  
  22. int[][] dp = new int[n + 1][W + 1];
  23.  
  24. for (int i = 1; i <= n; i++) {
  25. for (int w = 0; w <= W; w++) {
  26. if (weights[i - 1] <= w) {
  27. dp[i][w] = Math.max(dp[i - 1][w], dp[i - 1][w - weights[i - 1]] + values[i - 1]);
  28. } else {
  29. dp[i][w] = dp[i - 1][w];
  30. }
  31. }
  32. }
  33.  
  34. System.out.println(dp[n][W]);
  35.  
  36. scanner.close();
  37. }
  38. }
Success #stdin #stdout 0.18s 56572KB
stdin
3 30
15 30 45
100 150 200
stdout
150