Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/blacknesta intre reviziile 93 si 49 | Cod sursa (job #150566) | Istoria paginii utilizator/vladpalos | Cod sursa (job #1258666)
#include <stdio.h>
#include <deque>
using namespace std;
struct nod{int p,v;};
deque<nod> q;
int n,l,i,maxb,maxfi;
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;
maxfi=i;
}
if(i-q.front().p>=l-1) q.pop_front();
}
printf("%d %d %d\n",maxfi-l+1,maxfi,maxb);
return 0;
}