Cod sursa(job #1846031)

Utilizator TirauStelianTirau Ioan Stelian TirauStelian Data 12 ianuarie 2017 01:55:09
Problema Subsir crescator maximal Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.98 kb
program sjkg;
var f,g:text;
   best,pred:array of integer;
   v:array of longint;
   bufin,bufout:array [1..1 shl 17] of byte;
   i,j,max,pmax,nmp,n:integer;
procedure afisare(p:integer);
begin
  if p>-1 then
    begin
      afisare(pred[p]);
      write(g,v[p],' ');
    end;
end;
begin
  assign(f,'scmax.in'); reset(f);
  assign(g,'scmax.out'); rewrite(g);
  settextbuf(f,bufin); settextbuf(g,bufout);
  readln(f,n);
  setlength(v,n+1);
  setlength(best,n+1);
  setlength(pred,n+1);
  max:=1; pmax:=1;
  for i:=1 to n do
    begin
      read(f,v[i]);
      best[i]:=1; pred[i]:=-1;
      for j:=i-1 downto 1 do
        begin
          if (v[j]<v[i])and(best[j]+1>best[i]) then
            begin
              best[i]:=best[j]+1;
              pred[i]:=j;
            end;
        end;
      if best[i]>max then
        begin
          max:=best[i];
          pmax:=i;
        end;
    end;
  writeln(g,max);
  afisare(pmax);
  close(f); close(g);
end.