Cod sursa(job #680808)

Utilizator boby301Bogdan Bacila boby301 Data 15 februarie 2012 22:19:26
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
var f,g:text;
    a,b,aux:array[1..100000]of longint;
    i,j,n,max,max1,p,k: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]);

  max1:=1;aux[n+1]:=maxlongint;
  aux[1]:=1;
  for i:=2 to n do
    begin
      max:=0;
      for j:=1 to i-1 do
        if (a[j]<a[i]) and (aux[j]>max)
          then max:=aux[j];
        aux[i]:=max+1;
        if aux[i]>max1 then begin
                              max1:=aux[i];
                              p:=i;
                            end;
    end;

  k:=1;
  b[k]:=a[p];
  for i:=p-1 downto 1 do
    if aux[i]=aux[p]-1 then
        begin
          p:=i;
          k:=k+1;
          b[k]:=a[i];
        end;

  writeln(g,k);
  for i:=k downto 1 do
    write(g,b[i],' ');


  close(f);close(g);
end.