Cod sursa(job #194398)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 10 iunie 2008 13:38:10
Problema Subsir crescator maximal Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.64 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
        for j:=i+1 to n do
          if (l[j]+1>l[i])and(a[i]<a[j])then
             l[i]:=l[j]+1;
        if lm<l[i] then lm:=l[i];
    end;
  writeln(g,lm);
  drum;
  close(g);
end.