Cod sursa(job #680975)

Utilizator aliveLechintan Adrian alive Data 16 februarie 2012 12:31:09
Problema Subsir crescator maximal Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.78 kb
var
v,a,poz,w:array[1..100000] of longint;
n,i,j,max,imax,lmax:longint;
f,g:text;
begin
assign(f,'scmax.in'); assign(g,'scmax.out');
reset(f); rewrite(g);
read(f,n);
lmax:=0;
for i:=1 to n do
 begin
 read(f,v[i]);
 max:=0;
 for j:=i-1 downto 1 do
   begin
   if v[j]<v[i] then if a[j]>max then begin
                                      max:=a[j];
                                      poz[i]:=j;
                                      a[i]:=a[j]+1;
                                      end;
   end;
 if max=0 then a[i]:=1;
 if a[i]>lmax then begin imax:=i; lmax:=a[i]; end;

 end;

j:=lmax;
while lmax<>0 do
 begin
 w[lmax]:=v[imax];
 imax:=poz[imax];
 dec(lmax);
 end;

 write(g,j);writeln;
 for i:=1 to j do write(g,w[i],' ');
close(g);
close(f);
end.