Cod sursa(job #552004)
#include <fstream>
#include <deque>
using namespace std;
int v[500001];
int start,mx,i,N,K;
deque <pair<int,int> > d;
int main()
{
ifstream in("secventa.in");
ofstream out("secventa.out");
in>>N>>K;
for(i=0;i<N;i++) in>>v[i];
mx=0;
start=0;
for(i=0;i<N;i++)
{
if(d.size())
if(d.front().second+K<=i) d.pop_front();
while(d.size()>1&&d.back().first>v[i]) d.pop_back();
d.push_back(make_pair(v[i],i));
if(mx<d.front().first)
{
mx=d.front().first;
start=d.front().second+1;
}
}
out<<start<<' '<<start+K-1<<' '<<mx<<'\n';
}