Cod sursa(job #424674)
#include<stdio.h>
#include<deque>
using namespace std;
deque< pair<int, int> > d;
int n,k,i,x, maxim=-31000, ind;
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d%d", &n, &k);
for(i=1;i<=n;i++)
{
scanf("%d", &x);
while(!d.empty()&&d.front().second<=i-k)
d.pop_front();
while(!d.empty()&&d.back().first>=x)
d.pop_back();
d.push_back(make_pair(x,i));
if(i>=k&&d.front().first>maxim)
{
ind=i;
maxim=d.front().first;
}
}
printf("%d %d %d\n", ind-k+1, ind, maxim);
return 0;
}