Cod sursa(job #844822)

Utilizator RusuAlexeiRusu Alexei RusuAlexei Data 29 decembrie 2012 20:46:56
Problema Subsir crescator maximal Scor 65
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
program subsir_crescator_maxim;
  var f1,f2:text;
      n,lmax,i:longint;
      a,l,d,min:array [0..100000] of longint;
begin
  assign(f1,'scmax.in');
  reset(f1);
  assign(f2,'scmax.out');
  rewrite(f2);
  readln(f1,n);
  for i:=1 to n do read(f1,a[i]);
  for i:=1 to n do min[i]:=2000000001;
  l[1]:=1; d[1]:=0;
  min[1]:=a[1]; lmax:=1;
  for i:=2 to n do
    begin
      l[i]:=lmax;
      while (min[l[i]]>=a[i]) and (l[i]>0) do dec(l[i]);
      inc(l[i]);
      if l[i]>lmax then lmax:=l[i];
      if a[i]<min[l[i]] then min[l[i]]:=a[i];
    end;
  writeln(f2,lmax);
  for i:=1 to lmax do write(f2,min[i],' ');
  close(f1);
  close(f2);
end.