Cod sursa(job #2537098)

Utilizator Constantin.Dragancea Constantin Constantin. Data 3 februarie 2020 00:34:34
Problema Statistici de ordine Scor 50
Compilator py Status done
Runda Arhiva educationala Marime 0.5 kb
import random
def kth_element(v, k):

    a = random.choice(v)
    s = [i for i in v if i < a]
    b = [i for i in v if i > a]
    e = [i for i in v if i == a]

    if len(s) >= k:
        return kth_element(s, k)
    else:
        k -= len(s)
    if len(e) >= k:
        return a
    return kth_element(b, k - len(e))

f = open("sdo.in", "r")

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

g = open("sdo.out", "w")
g.write(str(kth_element(v, k)))