Pagini recente » Cod sursa (job #1333468) | Cod sursa (job #658939) | Cod sursa (job #1456658) | Cod sursa (job #1956676) | Cod sursa (job #273261)
Cod sursa(job #273261)
#include<iostream.h>
#include<stdio.h>
int n,k,i,front=1,back,max=0,deque[500001],imax,A[500001];
int main()
{
freopen("secventa.in","r",stdin);freopen("secventa.out","w",stdout);
scanf("%ld %ld",&n,&k);
for(i=1;i<=n;i++)
scanf("%ld",&A[i]);
for(i=1;i<=n;i++)
{
while(front<=back && A[i]<=A[deque[back]])
back--;
deque[++back]=i;
if(deque[front]==i-k)
front++;
if(i>=k)
if(A[deque[front]]>max)
{max=A[deque[front]];
imax=deque[front];}
}
printf("%ld %ld %ld",imax,imax+k-1,max);
return 0;
}