Pagini recente » Cod sursa (job #469652) | Cod sursa (job #45634) | Cod sursa (job #85042) | Cod sursa (job #1638875) | Cod sursa (job #575376)
Cod sursa(job #575376)
var v:array [1..3000000] of longint;
buf1:array[1.. 1 shl 17] of char;
i, n, k, aux, q:longint;
f, g:text;
procedure qsort (st, dr, k:longint);
var s, d, p, t:longint;
begin
p:=random(dr-st+1)+st;
aux:=v[p]; v[p]:=v[st]; v[st]:=aux;
s:=st; d:=dr;
while s < d do
begin
while (v[d]>=aux) and (s<d) do d:= d-1;
v[s]:=v[d];
while (v[s]<=aux) and (s<d) do s:= s+1;
v[d]:=v[s];
end;
v[s]:=aux;
t:=s-st+1;
if k <= t then qsort (st, s, k)
else qsort (s+1, dr, k-t);
end;
begin
assign (f, 'sdo.in'); settextbuf (f, buf1); reset (f);
assign (g, 'sdo.out'); rewrite (g);
randomize;
read (f, n, k);
for i := 1 to n do read (f, v[i]);
qsort (1, n, k);
q:=v[k];
writeln (g, q);
close (f); close (g);
end.