Cod sursa(job #743733)

Utilizator RadioactivMihai Preguza Radioactiv Data 5 mai 2012 18:08:03
Problema Statistici de ordine Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.87 kb
var t:array[1..3000000] of longint;
    n,k,x,i,j,i1,j1,aux:longint;
    b:array[1..65000] of byte;

procedure poz(li,ls:longint; var k:longint);
Begin
  i:=li;
  j:=ls;
  i1:=0;
  j1:=-1;
  while i<j do
    begin
      if t[i]>t[j] then
        begin
          aux:=t[i];
          t[i]:=t[j];
          t[j]:=aux;
          aux:=i1;
          i1:=-j1;
          j1:=-aux;
        end;
      i:=i+i1;
      j:=j+j1;
    end;
  k:=i;
End;


procedure quick(li,ls:longint);
Begin
  if li<ls then
  begin
    poz(li,ls,k);
    if k<x then
    quick(li,k-1)
    else
    quick(k+1,ls);
  end;
End;


BEGIN
  assign(input,'sdo.in');
  settextbuf(input,b);
  reset(input);
  readln(n,x);
  for i:=1 to n do
  read(t[i]);
  quick(1,n);
  assign(output,'sdo.out');
  rewrite(output);
  writeln(t[x]);
  close(input);
  close(output);
End.