Pagini recente » Cod sursa (job #2924289) | Cod sursa (job #3255051) | Cod sursa (job #1658168) | Cod sursa (job #1441571) | Cod sursa (job #258355)
Cod sursa(job #258355)
#include<stdio.h>
struct DEQUE{
int v,p;
DEQUE()
{
v=p=30001;
}
};
int sq,eq;
DEQUE dq[500000];
int v[500000];
int main()
{
int i,j,n,k,minim=-30001,pm=0;
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
scanf("%d %d",&n,&k);
int nq=0;
scanf("%d",&v[0]);
j=sq;
while(dq[j].v<v[0])
++j;
dq[j].v=v[0];
dq[j].p=0;
scanf("%d",&v[1]);
j=sq;
while(dq[j].v<v[1])
++j;
dq[j].v=v[1];
dq[j].p=1;
nq++;
for(i=2;i<n;++i)
{
scanf("%d",&v[i]);
j=sq;
while(dq[j].v<v[i])
++j;
dq[j].v=v[i];
dq[j].p=i;
nq++;
if(i-dq[sq].p>=k-1)
++sq;
if(minim<dq[sq].v&&i)
{
minim=dq[sq].v;
pm=dq[sq].p;
}
}
printf("%d %d %d",pm+1,pm+k,minim);
return 0;
}