Cod sursa(job #609964)

Utilizator danalex97Dan H Alexandru danalex97 Data 24 august 2011 08:41:04
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.71 kb
var a,l,le:array[0..100000] of longint;
    f,g:text;
    i,j,n,max,pmax:longint;

begin
  assign(f,'scmax.in');reset(f);
  assign(g,'scmax.out');rewrite(g);
  read(f,n);
  for i:=1 to n do read(f,a[i]);
  l[0]:=0;
  for i:=1 to n do
    for j:=0 to i-1 do
      if (a[j]<a[i])and(l[j]+1>l[i]) then
        begin
            l[i]:=l[j]+1;
            le[i]:=j;
        end;
  max:=0;
  for i:=1 to n do
    if max<l[i] then
      begin
        max:=l[i];
        pmax:=i;
      end;
  writeln(g,max);
  n:=max;
  while pmax>0 do
    begin
      l[max]:=a[pmax];
      dec(max);
      pmax:=le[pmax];
    end;
  for i:=1 to n-1 do write(g,l[i],' ');
  writeln(g,l[n]);
  close(f);
  close(g);
end.