Cod sursa(job #308480)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 27 aprilie 2009 13:04:25
Problema Subsir crescator maximal Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.04 kb
var f,g:text;
    n,i,j,max,poz:longint;
    lg,nr,a:array[1..500]of 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]);
lg[n]:=1;
nr[n]:=0;
for i:=n-1 downto 1 do
    begin
    j:=i+1;
    max:=0;
    while j<=n do
          begin
          if (a[j]>a[i]) and (lg[j]>max) then begin
                                              max:=lg[j];
                                              poz:=j;
                                              end;
          j:=j+1;
          end;
    if max>0 then begin
                 lg[i]:=lg[j]+1;
                 nr[i]:=j-1;
                 end
    else begin
         lg[i]:=1;
         nr[i]:=0;
         end;
    end;
max:=0;
for i:=1 to n do
    if lg[i]>max then begin
                      max:=lg[i];
                      poz:=i;
                      end;
writeln(g,max);
while max>0 do
      begin
      max:=max-1;
      write(g,a[poz]);
      poz:=nr[poz];
      end;
close(g);
end.