编辑代码

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))