Pagini recente » Cod sursa (job #3222976) | Cod sursa (job #317175) | Cod sursa (job #2388544) | ONIS 2015, Solutii Runda 1 | Cod sursa (job #6288)
Cod sursa(job #6288)
program secventa;
var f,g:text;
a,v:array[1..500007] of longint;
n,k:longint;
procedure iofile;
var i,st,dr,pin,max:longint;
begin
assign(f,'secventa.in');
reset(f);
assign(g,'secventa.out');
rewrite(g);
readln(f,n,k);
for i:=1 to k-1 do
begin
read(f,a[i]);
end;
st:=1;
dr:=1;
v[1]:=1;
for i:=2 to k-1 do
begin
while (a[i]<=a[v[dr]])and(st<=dr) do
dec(dr);
inc(dr);
v[dr]:=i;
end;
max:=-maxlongint;
pin:=0;
for i:=k to n do
begin
read(f,a[i]);
while (a[i]<=a[v[dr]])and(st<=dr) do
dec(dr);
inc(dr);
v[dr]:=i;
while (v[st]<i-k+1)and(st<dr) do
inc(st);
if v[st]>=i-k+1 then
if a[v[st]]>max then
begin
max:=a[v[st]];
pin:=i-k+1;
end;
end;
writeln(g,pin,' ',pin+k-1,' ',max);
close(g);
close(f);
end;
{procedure prel;
var st,dr,i,max,pin:longint;
begin
end;}
begin
iofile;
{prel;}
end.