Cod sursa(job #1369127)

Utilizator laura.calimanLaura Caliman laura.caliman Data 2 martie 2015 22:03:33
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.71 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.