Pagini recente » Cod sursa (job #1795914) | Cod sursa (job #630247) | Cod sursa (job #1344942) | Cod sursa (job #1831369) | Cod sursa (job #1801833)
#include <iostream>
#include <cstdio>
#include <deque>
using namespace std;
int v[500005];
deque < int > Q;
int front1=1,back1=0,n,k,max1=-500005,indmax;
long long S;
void citire()
{
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
}
Q.push_front(1);
for(int i=2;i<=n;i++)
{
if(Q.front()==i-k)
Q.pop_front();
while(v[i]<=v[Q.back()]&&!Q.empty())
Q.pop_back();
Q.push_back(i);
if(i>=k)
if(v[Q.front()]>=max1)
{
max1=v[Q.front()];
indmax=Q.front();
}
}
printf("%d %d %d",indmax,indmax+k-1,max1);
}
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
citire();
//cout << "Hello world!" << endl;
return 0;
}