Pagini recente » Cod sursa (job #2137009) | Cod sursa (job #3294409) | Cod sursa (job #2334470) | Cod sursa (job #1626004) | Cod sursa (job #208166)
Cod sursa(job #208166)
var v,s,q:array[1..700010]of longint;
n,m,i,k,l,p,max,a,b,c,r,o:longint;
y:char;
f:text;
begin
assign(f,'secventa.in');
reset(f);
readln(f,n,l);
i:=1;
r:=1;
o:=0;
while not eoln(f)do
begin
read(f,y);
if y='-' then r:=-1
else
if(ord(y)>32)then o:=o*10+ord(y)-48
else begin v[i]:=o*r;
i:=i+1;
r:=1;
o:=0;
end;
end;
close(f);
p:=1;
s[1]:=1;
k:=1;
q[1]:=v[1];
m:=-42000;
for i:=2 to l-1 do
begin
while(q[k]>=v[i])and(k>=p)do
k:=k-1;
k:=k+1;
s[k]:=i;
q[k]:=v[i];
end;
for i:=l to n do
begin
if s[p]<i-l+1 then p:=p+1;
while(q[k]>=v[i])and(k>=p)do
k:=k-1;
k:=k+1;
s[k]:=i;
q[k]:=v[i];
if q[p]>m then begin a:=i-l+1;
b:=i;
m:=q[p];
end;
end;
assign(f,'secventa.out');
rewrite(f);
writeln(f,a,' ',b,' ',m);
close(f);
end.