Cod sursa(job #680598)

Utilizator andreiseiceanSeicean Andrei andreiseicean Data 15 februarie 2012 19:28:26
Problema Subsir crescator maximal Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
var a:array[1..3,1..100000] of longint;
    b:array[1..100000]of integer;
    f,g:text;
    n,j,i,l,max,m:longint;
begin
assign(f,'scmax.in');reset(f);assign(g,'scmax.out');rewrite(g);
read(f,n);
for i:=1 to n do
     read(f,a[1,i]);
max:=0; a[2,1]:=1;
for i:=1 to n do
   for j:=1 to i-1 do
         if a[1,j]<a[1,i] then begin a[2,i]:=a[2,j]+1; a[3,i]:=j; end
                          else if a[2,i]=0 then a[2,i]:=1;
for i:=1 to n do
   if a[2,i]>max then max:=a[2,i];
writeln(g,max);
for i:=n downto 1 do
  if a[2,i]=max then begin j:=i; break; end;
m:=1; b[m]:=a[1,j]; l:=a[3,j];
while m<max do
  begin
     j:=l;
     m:=m+1;
     b[m]:=a[1,j];
     l:=a[3,j];
  end;
for i:=max downto 1 do
   write(g,b[i],' ');
close(f);close(g);
end.