Cod sursa(job #203642)

Utilizator 7RaduRadu Antohi 7Radu Data 18 august 2008 09:41:04
Problema Subsir crescator maximal Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 kb
program Scmax;
var
  fl : text;
  a, b, c : array[0..100010] of longint;
  n, i, j, k : longint;
begin
   assign(fl,'scmax.in');
   reset(fl);
   readln(fl,n);
   for i := 1 to n do
      begin
         read(fl,a[i]);
         b[i] := n+1;
         c[i] := 0;
      end;
   c[n] := 1;
   close(fl);

   for i := n-1 downto 1 do
      for j := i to n do
         if a[i] < a[j] then
            if c[i] < c[j] then
               begin
                  c[i] := c[j]+1;
                  b[i] := j;
               end;


   k := 1;
   for i := 1 to n do
      if c[i] > c[k] then
         k := i;

   assign(fl,'scmax.out');
   rewrite(fl);
   writeln(fl,c[k]);
   j := k;
   while b[k] < n+1 do
      begin
         write(fl,a[k],' ');
         k := b[k];
      end;
   write(fl,a[k]);
   close(fl);

end.