Pagini recente » Cod sursa (job #1211389) | Cod sursa (job #3242692) | Cod sursa (job #3210372) | Cod sursa (job #2509186) | Cod sursa (job #2537101)
import random
def nth_element(v: list, k: int):
if len(v) == 1:
return v[0]
a = random.choice(v)
small = [i for i in v if i < a]
big = [i for i in v if i > a]
eq = [i for i in v if i == a]
if len(small) >= k:
return nth_element(small, k)
else:
k -= len(small)
if len(eq) >= k:
return a
return nth_element(big, k - len(eq))
fin = open("sdo.in", "r")
n, k = [int(x) for x in fin.readline().split()]
v = [int(x) for x in fin.readline().split()]
fout = open("sdo.out", "w")
fout.write(str(nth_element(v, k)))