Cod sursa(job #674634)

Utilizator oancea_horatiuOancea Horatiu oancea_horatiu Data 6 februarie 2012 16:26:23
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
var a,s,ni,sc:array[0..100000] of longint;
    n,i,j,k,max,maxi,mj,maux:longint;
    o,d:text;
begin
assign(o,'scmax.out');assign(d,'scmax.in');
rewrite(o);reset(d);
readln(d,n);s[1]:=1;
for i:=1 to n do
  begin
    read(d,a[i]);mj:=0;
    for j :=i-1 downto 1 do
      if a[j]<a[i] then
        begin
          if s[j]>=s[i] then begin s[i]:=s[j]+1;ni[i]:=j end;
          if s[i]>max then begin max:=s[i];maxi:=i; end;
        end else if s[i]=0 then s[i]:=1;
  end;
writeln(o,max);maux:=max;
while max>0 do
  begin
    sc[max]:=a[maxi];
    maxi:=ni[maxi];
    max:=max-1;
  end;
for i:=1 to maux do write(o,sc[i],' ');
close(o);close(d);
end.