Pagini recente » Cod sursa (job #1852300) | Cod sursa (job #1894642) | Cod sursa (job #2744384) | Cod sursa (job #2549201) | Cod sursa (job #784532)
Cod sursa(job #784532)
Const
tfi = 'secventa.in';
tfo = 'secventa.out';
Nmax = 5000000;
Type
arr1 = array[1..Nmax] of longint;
Var
fi,fo : text;
N,K,f,r,vt,res: longint;
A,st : arr1;
(*------------------------------------*)
Procedure nhap;
var
i : longint;
begin
assign(fi,tfi); reset(fi);
read(fi,N,K);
for i := 1 to n do
read(fi,A[i]);
close(fi);
end;
(*------------------------------------*)
Procedure push(i : longint);
begin
inc(r);
st[r] := i;
end;
(*------------------------------------*)
Procedure xuly;
var
i : longint;
begin
f := 1;
r := 0;
For i := 1 to n do
begin
while (f <= r) and (A[i] <= A[st[r]]) do dec(r);
while (f <= r) and ( i - st[f] + 1 > k) do inc(f);
push(i);
if i >= k then
if res < A[st[f]] then
begin
res := A[st[f]];
vt := st[f];
end;
end;
end;
(*------------------------------------*)
Procedure inkq;
begin
assign(fo,tfo); rewrite(fo);
write(fo,vt,' ',vt+ k-1,' ',res);
close(fo);
end;
(*------------------------------------*)
(*------------------------------------*)
BEGIN
nhap;
xuly;
inkq;
END.