Cod sursa(job #126626)

Utilizator vladianavladiana micu vladiana Data 22 ianuarie 2008 16:26:10
Problema Secv Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.77 kb
var fi,fo:text;
    n,i,j,max,ok,poz:longint;
    v,t,pozi,pozf:array[0..5000]of longint;
begin
  assign(fi,'secv.in'); reset(fi);
  assign(fo,'secv.out'); rewrite(fo);
  read(fi,n);
  for i:=1 to n do
    read(fi,v[i]);
  t[n]:=1;
  pozf[n]:=n; pozi[n]:=n;
  max:=-maxint;
  for i:=n-1 downto 1 do
    begin
      ok:=0;
      for j:=i+1 to n do
        if (v[j]>v[i])and(t[i]<t[j]+1) then
          begin
            t[i]:=t[j]+1;
            ok:=1;
            pozi[i]:=i; pozf[i]:=pozf[j];
          end;
      if ok=0 then
        begin
          pozf[i]:=i; pozi[i]:=i; end;
      if t[i]>max then begin max:=t[i]; poz:=i; end;
    end;
  if max=-maxint then writeln(fo,-1)
   else writeln(fo,pozf[poz]-pozi[poz]+1);
  close(fi);
  close(fo);
end.