Pagini recente » Cod sursa (job #3218237) | Cod sursa (job #3293094) | Cod sursa (job #1306346) | Cod sursa (job #2573738) | Cod sursa (job #208159)
Cod sursa(job #208159)
var v,s:array[1..500010]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(y in ['0'..'9'])then o:=o*10+ord(y)-48
else begin o:=o*r;
v[i]:=o;
i:=i+1;
r:=1;
o:=0;
end;
end;
close(f);
p:=1;
s[1]:=1;
k:=1;
min:=-42000;
for i:=1 to l-1 do
begin
while(v[s[k]]>=v[i])and(k>=p)do
k:=k-1;
k:=k+1;
s[k]:=i;
end;
for i:=l to n do
begin
if s[p]<i-l+1 then p:=p+1;
while(v[s[k]]>=v[i])and(k>=p)do
k:=k-1;
k:=k+1;
s[k]:=i;
if v[s[p]]>min then begin a:=i-l+1;
b:=i;
c:=v[s[p]];
min:=v[s[p]];
end;
end;
assign(f,'secventa.out');
rewrite(f);
writeln(f,a,' ',b,' ',c);
close(f);
end.