백준 2156 - 포도주 시식 (파이썬)

Updated:

Answer

n = int(input())
if n != 1:
    w = [0] + [int(input()) for _ in range(n)]
    dp = [0, w[1], w[1] + w[2]] + [0] * (n + 1)

    for n in range(3, n + 1):
        dp[n] = max(dp[n - 1], dp[n - 3] + w[n - 1] + w[n], dp[n - 2] + w[n])

    print(dp[n])
else:
    print(input())

Categories:

Updated: