Pagini recente » Cod sursa (job #1861595) | Cod sursa (job #770311) | Cod sursa (job #1656035) | Cod sursa (job #2944808) | Cod sursa (job #1153865)
//statistici de ordine
var a:array[1..3000000] of longint;
n,i,k:longint;
f,g:text;
procedure switch(var x,y:longint);
var aux:longint;
begin
aux:=x;
x:=y;
y:=aux;
end;
procedure partizeaza(st,dr:longint);
var piv,i,j:longint;
begin
if (dr>st) then
begin
piv:=a[(dr+st) div 2];
switch(piv,a[dr]);
i:=st-1;
for j:=st to dr-1 do
if a[j]<piv then begin
inc(i);
switch(a[j],a[i]);
end;
inc(i);
switch(a[dr],a[i]);
for i:=st to dr do write(a[i],' ');
readln;
if i<k then partizeaza(i+1,dr)
else if i>k then partizeaza(st,i-1);
end;
end;
begin
assign(f,'sdo.in');reset(f);
assign(g,'sdo.out');rewrite(g);
readln(f,n,k);
for i:=1 to n do read(f,a[i]);
partizeaza(1,n);
write(g,a[k]);
close(f);
close(g);
end.