Pagini recente » Cod sursa (job #999125) | Cod sursa (job #2351990) | Cod sursa (job #2126118) | Cod sursa (job #1064862) | Cod sursa (job #273317)
Cod sursa(job #273317)
#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("D:\\in.txt","r",stdin);freopen("D:\\out.txt","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;
}