problem-2295

유성·2023년 2월 21일
0

PS

목록 보기
43/47


import sys
input=sys.stdin.readline
n=int(input())
u=[]
for i in range(n):
    u.append(int(input()))
twosum=[]
answer=0
u.sort(reverse=True)
for i in range(len(u)):
    for j in range(i,len(u)):
        a=u[i]+u[j]
        if a<=u[0]:
            twosum.append(a)

for i in range(len(u)):
    flag=False
    for t in twosum:
        if (u[i]-t) in u:
             answer=max(u[i],answer)
             flag=True
             break
    if flag:
        break

print(answer)

시간복잡도를 최소화하기 위해 두 수의 합 배열을 만듦

profile
기록

0개의 댓글