Pagini recente » Cod sursa (job #1763317) | Cod sursa (job #792022) | Cod sursa (job #67805) | Cod sursa (job #592351) | Cod sursa (job #208158)
Cod sursa(job #208158)
var v,s:array[1..500010]of longint;
n,min,i,k,l,p,max,a,b,c,r:longint;
y:char;
f:text;
begin
assign(f,'secventa.in');
reset(f);
readln(f,n,l);
i:=1;
r:=1;
while not eoln(f)do
begin
read(f,y);
if y='-' then r:=-1
else
if(y in ['0'..'9'])then v[i]:=v[i]*10+ord(y)-48
else begin v[i]:=v[i]*r;
i:=i+1;
r:=1;
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.