Cod sursa(job #865243)

Utilizator IoanaDanielaRomcea Ioana Daniela IoanaDaniela Data 26 ianuarie 2013 11:49:23
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.83 kb
var a,l,p:array[1..100000] of longint;
    f,g:text;
    i,n,k,j,max:longint;

begin
 assign(f,'scmax.in');reset(f);
 assign(g,'scmax.out');rewrite(g);
 readln(f,n);
 for i:=1 to n do
  read(f,a[i]);
 l[n]:=1;
 p[n]:=0;
 for i:=n-1 downto 1 do
  begin
   l[i]:=1;
   p[i]:=0;
   max:=0;
   for j:=i+1 to n do
    if (a[i]<a[j]) and (l[j]>=l[i]) then
                                    begin
                                     l[i]:=l[j]+1;
                                     p[i]:=j;
                                    end;
  end;
 max:=0;
 j:=0;
 for i:=1 to n do
  if l[i]>max then begin
                    max:=l[i];
                    j:=i;
                   end;
 writeln(g,max);
 write(g,a[j],' ');
 while p[j]<>0 do
  begin
   j:=p[j];
   write(g,a[j],' ');
  end;
 close(f);
 close(g);
end.