Pagini recente » Cod sursa (job #2865554) | Cod sursa (job #2392396) | Cod sursa (job #263812) | Cod sursa (job #2915265) | Cod sursa (job #1258638)
#include <stdio.h>
#include <deque>
using namespace std;
struct nod{int p,v;};
deque<nod> q;
int n,l,i,maxb,maxst;
nod nr;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d %d",&n,&l);
maxb=-30010;
for(i=1;i<=n;i++)
{
scanf("%d",&nr.v);
nr.p=i;
while(!q.empty() && q.back().v>=nr.v) q.pop_back();
q.push_back(nr);
if(i>=l && q.front().v>maxb)
{
maxb=q.front().v;
maxst=q.front().p;
}
if(i-q.front().p>=l-1) q.pop_front();
}
printf("%d %d %d\n",maxst,maxst+l-1,maxb);
return 0;
}