Cod sursa(job #957522)
#include<cstdio>
#include<deque>
using namespace std;
int semn,po,i,maxi,sf,k,n,a[500009];
char sir[500000*8+1];
deque < int > cc;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d",&n);
scanf("%d\n",&k);
//////////////////////
gets(sir+1);
po=1;
for(i=1;i<=n;i++)
{
if(sir[po]=='-')
{
semn=-1;
po++;
}
else semn=1;
while(sir[po]>='0'&&sir[po]<='9')
{
a[i]=a[i]*10+sir[po]-48;
po++;
}
while(sir[po]==' ') po++;
a[i]*=semn;
}
//////////////////////
maxi=-9999999;
sf=0;
for(i=1;i<=n;i++)
{
while(!cc.empty()&&a[cc.back()]>a[i]) cc.pop_back();
cc.push_back(i);
if(cc.front()<=i-k) cc.pop_front();
if(i>=k&&a[cc.front()]>maxi)
{
maxi=a[cc.front()];
sf=i;
}
}
printf("%d %d %d\n",sf-k+1,sf,maxi);
return 0;
}