Pagini recente » Cod sursa (job #592274) | Cod sursa (job #1426487) | Cod sursa (job #113446) | Cod sursa (job #33607) | Cod sursa (job #208165)
Cod sursa(job #208165)
var v,s,q:array[1..700010]of longint;
n,min,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];
min:=-42000;
for i:=1 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]>min then begin a:=i-l+1;
b:=i;
c:=q[p];
min:=q[p];
end;
end;
assign(f,'secventa.out');
rewrite(f);
writeln(f,a,' ',b,' ',c);
close(f);
end.