Cod sursa(job #1199285)

Utilizator mihaitamoglanmihai moglan mihaitamoglan Data 18 iunie 2014 19:05:12
Problema Subsir crescator maximal Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.9 kb
type sub=record;
        ki,ni,oi:longint;
        end;
tablou=array [1..1000000]of sub;
var t:tablou;
    a:array [1..1000000]of longint;
    i,j,k,m,n:longint;
    f,g:text;
begin
assign(f,'scmax.in');
assign(g,'scmax.out');
reset(f);
rewrite(g);
read(f,n);
for i:=1 to n do
read(f,t[i].ki);
t[1].ni:=1;
t[1].oi:=0;
for i:=2 to n do
 begin
 t[i].ni:=1;
 t[i].oi:=1;
 for j:=1 to i-1 do
 if (t[j].ni+1>t[i].ni)and(t[i].ki>=t[j].ki)then begin
                                                t[i].ni:=t[j].ni+1;
                                                t[i].oi:=j;
 end;
 end;
m:=0;
for i:=1 to n do
if t[i].ni>m then begin
                  j:=i;
                  m:=t[i].ni;
                  end;
i:=j;
j:=1;
while i<>0 do
   begin
   a[j]:=t[i].ki;
   i:=t[i].oi;
   j:=j+1;
   end;
writeln(g,m);
for i:=m downto 1 do
write(g,a[i],' ');
close(f);
close(g);
end.