Cod sursa(job #1361821)

Utilizator laura.calimanLaura Caliman laura.caliman Data 25 februarie 2015 23:56:59
Problema Subsir crescator maximal Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
var n,i,j,k,m:longint;
    a,b,c:array[1..100000] of longint;
    
begin
  assign(input,'scmax.in');
  assign(output,'scmax.out');
  reset(input);
  rewrite(output);
  read(n);
  for i:=1 to n do begin
    read(a[i]);
    c[i]:=1;
  end;
  for i:=1 to n do begin
    for j:=1 to i do 
      if (a[j]<a[i]) and (c[j]>=c[i]) then begin
        b[i]:=j;
        c[i]:=c[j]+1;
        if c[i]>m then begin
          m:=c[i];
          k:=i
        end;
      end;
  end;
  for i:=1 to n do
    write(b[i],' ');
  writeln;
  j:=k;
  i:=m;
  writeln(m);
  c[i]:=a[k];
  while b[k]>0 do begin
    dec(i);
    k:=b[k];
    c[i]:=a[k];
  end;
  for i:=1 to m do
    write(c[i],' ');
end.