https://www.acmicpc.net/problem/16198

 

16198번: 에너지 모으기

N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있

www.acmicpc.net

 

n = int(input())
a = list(map(int, input().split()))


def go(a):
    n = len(a)
    if n == 2:
        return 0

    ans = 0
    for i in range(1, n - 1):
        b = a[:i] + a[i + 1:]
        energy = a[i - 1] * a[i + 1]
        energy += go(b)
        if ans < energy:
            ans = energy
    return ans

print(go(a))

 

+ Recent posts