def bean_bag(coins, weights, capacity):
n = len(coins)
dp = [[0] * (capacity+1) for _ in range(n+1)]
for i in range(1, n+1):
for j in range(1, capacity+1):
if j < weights[i-1]:
dp[i][j] = dp[i-1][j]
else:
dp[i][j] = max(dp[i-1][j], dp[i-1][j-weights[i-1]] + coins[i-1])
return dp[n][capacity]
# 测试
coins = [60, 100, 120]
weights = [10, 20, 30]
capacity = 50
print(bean_bag(coins, weights, capacity))