1 package Test; 2 import java.util.*; 3 public class Solution { 4 5 public static int jisuan(int W,int[] wei,int [] val,int n) 6 { 7 int i,w; 8 int[][] K=new int[n+1][W+1]; 9 10 11 for(i=0;i<=n;i++) 12 { 13 for(w=0;w<=W;w++) 14 { 15 if(i==0||w==0) 16 { 17 K[i][w]=0; 18 } 19 else if (wei[i-1]<w){ 20 21 K[i][w]=Math.max(val[i-1]+K[i-1][w-wei[i-1]], K[i-1][w]); 22 } 23 else { 24 K[i][w] = K[i-1][w]; 25 } 26 } 27 } 28 29 30 return K[n][W]; 31 } 32 33 public static void main(String[] args) { 34 // TODO Auto-generated method stub 35 36 Scanner sc = new Scanner(System.in); 37 38 int n= sc.nextInt(); 39 40 int [] pro = new int[100]; 41 int [] wei = new int[100]; 42 43 for(int i=0;i<n;i++) 44 { 45 pro[i] = sc.nextInt(); 46 } 47 48 for(int i=0;i<n;i++) 49 { 50 wei[i] = sc.nextInt(); 51 } 52 53 int time = sc.nextInt(); 54 55 System.out.println(jisuan(time,wei,pro,n)); 56 } 57 58 }