Cod sursa(job #194396)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 10 iunie 2008 13:33:58
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.67 kb
var a,l : array[0..100001] of longint;
    i,j,n,max,lm : longint;
    f,g : text;
procedure drum;
var t,p : longint;
begin
  p:=1; t:=0;
  repeat
    while (l[p]<>lm)or(a[t]>a[p])do inc(p);
    write(g,a[p],' ');
    t:=p;
    dec(lm);
  until lm=0;
end;

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[i]);
  { dinamica }
  l[n]:=1;
    for i:=n-1 downto 1 do
    begin
      max:=0;
        for j:=i+1 to n do
          if (l[j]>max)and(a[i]<a[j])then
            max:=l[j];
      l[i]:=max+1;
        if lm<l[i] then lm:=l[i];
    end;
  writeln(g,lm);
  drum;
  close(g);
end.