Cod sursa(job #1199272)

Utilizator ianic1999Ianic Umanschii ianic1999 Data 18 iunie 2014 18:40:40
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 1.03 kb
type tabel=array[0..100000]of longint;
var t,max,poz,a:tabel;
    i,j,k,m,n:longint;
begin
 assign(input,'scmax.in');
 reset(input);
 readln(n) ;
 for i:=1 to n do read(t[i]) ;
 close(input);

 max[1]:=1;
 m:=1;
 for i:=2 to n do
  begin
  max[i]:=1;
    for j:=1 to i-1 do
     begin
      if (t[j]<t[i]) then
                                     begin
                                      if max[j]+1>max[i]then
                                                         begin
                                                         max[i]:=max[j]+1;
                                                         poz[i]:=j;
                                                         end;
                                     end
     end;
  end;

 for i:=1 to n do if max[i]>m then begin m:=max[i];k:=i;end;
 i:=k;  j:=m;
 while i<>0 do
  begin
   a[j]:=t[i];
   j:=j-1;
   i:=poz[i];
  end;

 assign(output,'scmax.out');
 rewrite(output);
   writeln(m);
    for i:=1 to m do write(a[i],' ');
   close(output);
end.