第二题 ```java class Solution { public static void main(String[] args) { new Solution().sol(); } public void sol() { Scanner in = new Scanner(System.in); int n=in.nextInt(); int X=in.nextInt(); int C=in.nextInt(); int[] Vol= new int[n]; int[] Qua= new int[n]; for (int i = 0; i < n; i++) { Vol[i]=in.nextInt(); } for (int i = 0; i < n; i++) { Qua[i]=in.nextInt(); } int[] dp = new int[C+1]; for (int i = 0; i < dp.length; i++) { dp[i]=-1; } dp[0]=0; for (int i = 0; i < Vol.length; i++) { dp[Vol[i]]=Math.max(dp[Vol[i]],Qua[i]); } for (int i = 2; i < dp.length; i++) { for(int j=1;j<i;j++){ int k = i-j; if(dp[j]!=-1&&dp[k]!=-1){ if(j==k){ dp[i]=Math.max(dp[i],dp[j]*2+X); }else{ dp[i]=Math.max(dp[i],dp[j]+dp[k]); } } } } System.out.println(dp[C]); } ```
3 3

相关推荐

牛客网
牛客企业服务