1. Minimum Coins Recurrence
dp[0] = 0
for a in 1..A:
dp[a] = INF
for coin in coins:
if coin <= a:
dp[a] = min(dp[a], dp[a-coin] + 1)
Use a large sentinel (Infinity) to represent unreachable states. Answer is dp[A] unless still Infinity.