quantidade_pedacos = int(input())
preco_pedaco = [float(x) for x in input().split()]

# dp[i] vai guardar o menor custo para comprar i pedaços
dp = [float('inf')] * (quantidade_pedacos + 1)
dp[0] = 0  # Custo para 0 pedaços é 0

# Preenchendo dp de 1 até N
for i in range(1, quantidade_pedacos + 1):
    for j in range(1, i + 1):
        dp[i] = min(dp[i], dp[i - j] + preco_pedaco[j - 1])

# Resultado final: menor custo para N pedaços
print(f"{dp[quantidade_pedacos]:.2f}")

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: