Pagini recente » Cod sursa (job #3212287) | Cod sursa (job #1160137) | Cod sursa (job #1286778) | Cod sursa (job #34190) | Cod sursa (job #273293)
Cod sursa(job #273293)
#include<iostream.h>
#include<stdio.h>
long int n,k,i,front=1,back=0,deque[500001],imax,A[500001],max=-2000000000;
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;
}