第二题
```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]);
}
```