Pagini recente » Cod sursa (job #2829230) | Cod sursa (job #1184996) | Cod sursa (job #769169) | Cod sursa (job #2329440) | Cod sursa (job #2537096)
import random
def nth_element(v, k):
if len(v)==1:
return v[0]
pivot = random.choice(v)
smaller = [x for x in v if x<pivot]
bigger = [x for x in v if x>pivot]
equal = [x for x in v if x==pivot]
if len(smaller)>=k:
return nth_element(smaller, k)
else:
k -= len(smaller)
if k<=len(equal):
return pivot
return nth_element(bigger, k-len(equal))
f = open("sdo.in", "r")
g = open("sdo.out", "w")
n, k = map(int,f.readline().split())
v = list(map(int,f.readline().split()))
g.write(str(nth_element(v, k)))