Cod sursa(job #2536815)

Utilizator Constantin.Dragancea Constantin Constantin. Data 2 februarie 2020 18:04:48
Problema Statistici de ordine Scor 50
Compilator py Status done
Runda Arhiva educationala Marime 0.52 kb
import random
def kth_element(a, k):
    x = random.choice(a)
    to_left = [y for y in a if y < x]
    to_right = [y for y in a if y > x]
    if len(to_left) >= k:
        return kth_element(to_left, k)
    if k <= len(a) - len(to_right):
        return x
    return kth_element(to_right, k - (len(a) - len(to_right)))

f = open('sdo.in', 'r')
n, k = [int(x) for x in f.readline().split()]
lst = [int(x) for x in f.readline().split()]

g = open('sdo.out', 'w')
g.write(str(kth_element(lst, k)))

f.close()
g.close()