Cod sursa(job #699147)

Utilizator amaliutzzaGoia Amalia amaliutzza Data 29 februarie 2012 17:48:29
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 1.05 kb
program scm;

var l,v,pre:array[1..100001] of longint;
    fi,fo:text;
    n,i,max,mx,pmax:longint;



    procedure drum(nod:integer);
    begin
        repeat
              write(fo,v[nod],' ');
              nod:=pre[nod];
        until pre[nod]=0;
        write(fo,v[nod]);
    end;

  procedure scm;
  var i,j:longint;
  begin
    l[n]:=1;
    max:=0;
      for i:=n-1 downto 1 do
        begin
          mx:=0;
            for j:=i+1 to n do
              if v[j]>v[i] then
                if l[j]>mx then
                  begin
                    mx:=l[j];
                    pre[i]:=j;
                  end;
            l[i]:=mx+1;
            if l[i]>max then
              begin
                max:=l[i];
                pmax:=i;
              end;
        end;

    writeln(fo,max);

    drum(pmax);
  end;

begin
    assign(fi,'scmax.in'); reset(fi);
    assign(Fo,'scmax.out'); rewrite(Fo);

      readln(Fi,n);
      for i:=1 to n do
        read(fi,v[i]);

      scm;

    close(Fi); close(Fo);
end.