Cod sursa(job #1195518)

Utilizator maricasorinSorin-Gabriel maricasorin Data 7 iunie 2014 15:57:35
Problema Statistici de ordine Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
program akleaminim;
type vector=array [1..20] of longint;
var k,n,i:longint;
    v:vector;
 f,g:text;
function alkleaminim(p,i,n:longint;var v:vector):longint;
 var t,j,aux:longint;
 begin
 if n>i then begin
  t:=i-1;
  for j:=i to n do
   if v[j]<=v[n] then begin
    t:=t+1;
    aux:=v[j];
    v[j]:=v[n-t];
    v[n-t]:=aux;
    end;
  if t=p then alkleaminim:=v[p]
   else if t<p then alkleaminim:=alkleaminim(p,t+1,n,v)
    else if t>p then alkleaminim:=alkleaminim(p,i,t-1,v);
   end
  else if p=n then alkleaminim:=v[n];
  end;
begin
assign (f,'sdo.in');
reset(f);
assign (g,'sdo.out');
rewrite(g);
readln(f,n,k);
if (n>=1) and (n<=3000000) and (k<=n) and (k>=1) then begin
for i:=1 to n do read(f,v[i]);
write (g,alkleaminim(k,1,n,v));
end;
close(f);
close(g);
end.