Pagini recente » Cod sursa (job #2116642) | Cod sursa (job #1012811) | Cod sursa (job #2080113) | Cod sursa (job #2838715) | Cod sursa (job #771865)
Cod sursa(job #771865)
var a,b:array[1..500000]of integer; i,n,k,p,u,m:longint;
buf:array[1..1 shl 18]of char;
begin
assign(input,'secventa.in'); reset(input); settextbuf(input,buf);
readln(n,k);
for i:=1 to n do read(a[i]);
p:=1; u:=0; m:=1;
for i:=1 to n do
begin
while (p<=u) and (a[i]<a[b[u]]) do u:=u-1;
u:=u+1;
b[u]:=i;
if (b[p]=i-k) then p:=p+1;
if i>=k then if a[m]<a[b[p]] then m:=b[p];
end;
i:=m;
if i<n then while (a[i+1]>=a[m]) and (i<n) do inc(i);
p:=m;
if p>1 then while (a[p-1]>=a[m]) and (i>1) do p:=p-1;
assign(output,'secventa.out'); rewrite(output);
writeln(p,' ',i,' ',a[m]);
close(output);
end.