Cod sursa(job #929130)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 26 martie 2013 21:02:33
Problema Subsir crescator maximal Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.84 kb
program subsir_crescator_maxim;
  var f,g:text;
      n,lmax,i,pmax:longint;
      a,l,min,d,p:array [0..100000] of longint;
      intrare,iesire:array [1..100000] of char;//byte;
procedure scrie(x:longint);
begin
if x<>0 then
            begin
            scrie(d[x]);
            write(g,a[x],' ');
            end;
end;
begin
assign(f,'scmax.in');reset(f);       settextbuf(f,intrare);
assign(g,'scmax.out');rewrite(g);    settextbuf(g,iesire);
readln(f,n);
for i:=1 to n do read(f,a[i]);
for i:=1 to n do min[i]:=2000000001;
for i:=1 to n do
  begin
  l[i]:=lmax;
  while (min[l[i]]>=a[i]) and (l[i]>0) do dec(l[i]);
  d[i]:=p[l[i]];
  inc(l[i]);
  if l[i]>lmax then begin lmax:=l[i]; pmax:=i; end;
  if a[i]<min[l[i]] then begin min[l[i]]:=a[i]; p[l[i]]:=i; end;
  end;
writeln(g,lmax);
scrie(pmax);
close(f);close(g);
end.