import random
n,k=map(int,input().split())
arr=list(map(int,input().split()))
while True:
i,j=random.randint(0,min(n + k - 1, 2 * k + 1)),random.randint(max(0, n - 2 * k - 2),n+k-1)
s=arr[i]+arr[j]
l,r=0,n+k-1
f = 0
while l<r and f<n:
if arr[l]+arr[r]<s:
l+=1
elif arr[l]+arr[r]>s:
r-=1
else:
f += 2
l+=1
r-=1
if f==n:
oks = s
ja=[]
l,r=0,n+k-1
while l<r and len(ja)<n:
if arr[l]+arr[r]<oks:
l+=1
elif arr[l]+arr[r]>oks:
r-=1
else:
ja.append(arr[l])
ja.append(arr[r])
l+=1
r-=1
for i in sorted(ja):
print(i,end=' ')
break
Compilation message (stdout)
Compiling 'tabletennis.py'...
=======
adding: __main__.pyc (deflated 37%)
=======
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |