#include<stdio.h>intmax(int a, int b){
return (a > b) ? a : b;
}
intmaxCoinValue(int coins[], int values[], int num_coins, int target){
int dp[target + 1];
dp[0] = 0;
for (int i = 1; i <= target; i++) {
dp[i] = 0;
for (int j = 0; j < num_coins; j++) {
if (i >= coins[j]) {
dp[i] = max(dp[i], dp[i - coins[j]] + values[j]);
}
}
}
return dp[target];
}
intmain(){
int coins[] = {1, 3, 5};
int values[] = {2, 4, 6};
int num_coins = sizeof(coins) / sizeof(coins[0]);
int target = 11;
int result = maxCoinValue(coins, values, num_coins, target);
printf("最大硬币收集价值: %d\n", result);
return0;
}