Cod sursa(job #239901)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 6 ianuarie 2009 08:05:30
Problema Secventa Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
var f,g:text;
    a:array[1..500000] of integer;
    b:array[1..500000] of longint;
    n,k,st,i,dr,poz:longint;
    rez:integer;
begin
assign(f,'secventa.in');Reset(f);
assign(g,'secventa.out');Rewrite(g);
readln(f,n,k);
rez:=-30001;
st:=1;
dr:=0;
for i:=1 to k-1 do
 begin
  read(f,a[i]);
  while (st<=dr) and (a[i]<=a[b[dr]]) do dr:=dr-1;
   dr:=dr+1;
   b[dr]:=i;
  end;
for i:=k to n do
 begin
  read(f,a[i]);
  while (st<=dr) and (a[i]<=a[b[dr]]) do dr:=dr-1;
  dr:=dr+1;
  b[dr]:=i;
  while (st<=dr) and (b[st]<i-k+1) do st:=st+1;
  if a[b[st]]>rez then begin
                        rez:=a[b[st]];
                        poz:=i;
                       end;
 end;
write(g,poz-k+1,' ',poz,' ',rez);
close(f);
close(g);
end.