Pagini recente » Cod sursa (job #2656863) | Cod sursa (job #936565) | Cod sursa (job #2282823) | Cod sursa (job #605236) | Cod sursa (job #208164)
Cod sursa(job #208164)
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 v[i]:=v[i]*10+ord(y)-48
else begin v[i]:=v[i]*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.