Cod sursa(job #559462)

Utilizator david93Demeny David david93 Data 17 martie 2011 20:39:06
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.74 kb
uses crt;
type
 kl=array[1..100000] of longint;
var
 v,d:kl;
 a,b,c,n,m,i,j,max:longint;
 f,g:text;
procedure kiir(a,m:longint);
var i:longint;
begin
 if m<>1
  then
    begin
     i:=a; dec(i);
     while (v[i]>=v[a])or(d[i]<>m-1) do
      dec(i);
     kiir(i,m-1);
     write(g,v[a],' ');
    end
  else write(g,v[a],' ');
end;
begin
 assign(f,'scmax.in');
 reset(f);
 assign(g,'scmax.out');
 rewrite(g);
 readln(f,n); m:=0;
 for i:=1to n do
  begin
   read(f,v[i]);
   max:=0;
   for j:=1 to i-1 do
        if (d[j]>max)and(v[i]>v[j])
         then max:=d[j];
   d[i]:=max+1;
   if d[i]>m
    then
     begin
      m:=d[i];
      a:=i;
     end;
  end;

 writeln(g,m);

 kiir(a,m);
 close(f);
 close(g);
end.