Cod sursa(job #328935)

Utilizator ionutz32Ilie Ionut ionutz32 Data 3 iulie 2009 23:14:08
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
var a,v:array[1..100000] of longint;
b,p:array[1..100000] of 1..100000;
n,i,j,max,m,poz,c:longint;
f,g:text;
begin
assign(f,'scmax.in');
assign(g,'scmax.out');
reset(f);rewrite(g);
readln(f,n);
for i:=1 to n do
    read(f,a[i]);
b[1]:=1;
for i:=2 to n do
    begin
    max:=0;
    for j:=1 to i-1 do
        if (a[j]<a[i]) and (b[j]>max) then
           begin
           max:=b[j];
           p[i]:=j;
           end;
    b[i]:=max+1;
    if b[i]>m then
       begin
       m:=b[i];
       poz:=i;
       end;
    end;
c:=0;
repeat
      c:=c+1;
      v[c]:=a[poz];
      poz:=p[poz];
until c=m;
writeln(g,m);
for i:=m downto 1 do
    write(g,v[i],' ');
close(f);close(g);
end.