백준 16198 에너지 모으기

gmlwlswldbs·2022년 2월 26일
0

코딩테스트

목록 보기
126/130
n = int(input())
w = list(map(int, input().split()))
ans = 0
def go(l, energy):
    global ans
    # 처음과 끝 구슬만 남으면 최대값인지 판별하고 종료
    if len(l) == 2:
        ans = max(ans, energy)
        return
    for i in range(1, len(l)-1):
        go(l[:i]+l[i+1:], energy+(l[i-1]*l[i+1]))

go(w, 0)
print(ans)

0개의 댓글