Cod sursa(job #4706)

Utilizator raduzerRadu Zernoveanu raduzer Data 6 ianuarie 2007 12:43:39
Problema Farfurii Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.94 kb
var a,b:array[1..100000]of longint;
    n,k,i,j,q,z:longint;


procedure cautare;
var min,max,i,j:longint;
begin
     if n=0 then exit;
     for i:=1 to n do
     begin
          min:=0;
          for j:=1 to n do
          begin
               if (a[i]<>a[j])and(a[j]<a[i]) then
                        min:=min+1;
          end;
          max:=(n-1)*(n-2)div 2 + min;
          if (k>=min) and (k<=max) then
          begin
               z:=z+1;
               b[z]:=a[i];
               for j:=i+1 to n do
                a[j-1]:=a[j];
               n:=n-1;
               k:=k-min;
               cautare;
               exit;
          end;
     end;
end;



begin
     assign(input,'farfurii.in');
     reset(input);
     assign(output,'farfurii.out');
     rewrite(output);
     readln(n,k);
     z:=0;
     for i:=1 to n do a[i]:=i;
     cautare;
     for i:=1 to z do write(b[i],' ');
close(output);
end.