Cod sursa(job #2536824)

Utilizator Constantin.Dragancea Constantin Constantin. Data 2 februarie 2020 18:18:19
Problema Statistici de ordine Scor 50
Compilator py Status done
Runda Arhiva educationala Marime 0.47 kb
import random
f = open('sdo.in', 'r')
g = open('sdo.out', 'w')

def kth_element(a, k):
    x = random.choice(a)
    small = [y for y in a if y < x]
    big = [y for y in a if y > x]
    if len(small) >= k:
        return kth_element(small, k)
    if k <= len(a) - len(big):
        return x
    return kth_element(big, k - (len(a) - len(big)))

n, k = [int(x) for x in f.readline().split()]
v = [int(x) for x in f.readline().split()]

g.write(str(kth_element(v, k)))