Cod sursa(job #160422)

Utilizator SILVER_BOY22Dalalau Alexandru SILVER_BOY22 Data 15 martie 2008 16:21:21
Problema Secventa Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.22 kb
var a,b:array[1..500000]of integer;
    s:array[1..1750000]of char;
    x:ansistring;
    nr:string;
    n,k,i,j,st,fi,max,p,u,t,l,z:longint;
begin
     assign(input,'secventa.in');
     reset(input);
     assign(output,'secventa.out');
     rewrite(output);
     readln(n,k);
     readln(s);
     i:=1;
     t:=0;
     x:=s;
     l:=length(s);
     while i<=l do
     begin
          z:=1;
          inc(t);
          if s[i]='-' then
          begin
               z:=-1;
               inc(i);
          end;
          while (s[i]<>' ')and(i<=l) do
          begin
               a[t]:=a[t]*10+ord(s[i])-ord('0');
               inc(i);
          end;
          a[t]:=a[t]*z;
          inc(i);
     end;

     st:=2;
     fi:=1;
     b[1]:=-31000;
     max:=-31000;
     for i:=1 to n do
     begin
          if (i>k)and(b[st]=a[i-k]) then inc(st);
          inc(fi);
          b[fi]:=a[i];
          for j:=fi-1 downto st-1 do
          begin
               if not (b[j]>a[i]) then break;
          end;
          fi:=j+1;
          b[fi]:=a[i];
          if (i>=k)and(b[st]>max) then
          begin
               p:=i-k+1;
               u:=i;
               max:=b[st];
          end;
     end;
     writeln(p,' ',u,' ',max);
close(output);
end.