https://www.acmicpc.net/problem/2470
import sys
n=int(sys.stdin.readline())
mlist=list(map(int, sys.stdin.readline().split()))
mlist.sort() # 입력 받은 값을 정렬
start=0
end=n-1
m=1e9*2 # 가장 0에 가까운 두 용액의 값을 저장할 값
res=[0,0]
while start<end: # start 인덱스가 end 인덱스보다 작을 때까지
x=mlist[start]+mlist[end]
if abs(x)<m: # 만약 차이가 더 0에 가깝다면
m=abs(x) # 저장
res=[mlist[start], mlist[end]]
if x==0: # 그 차이가 0이라면 가장 가까운 것이므로 더 볼 필요 없이 break
break
if x<0: # 만약 차이가 음수라면
# 리스트가 sort되어 있으므로 더 작은 쪽의 인덱스를 늘려주어
# 차이를 0과 더 가깝게 만들어줌
start+=1
elif x>0: # 차이가 양수라면
# 더 큰 쪽의 인덱스를 줄여준다
end-=1
print(res[0], res[1])