Pagini recente » Cod sursa (job #214809) | Cod sursa (job #2344828) | Cod sursa (job #1609612) | Cod sursa (job #304307) | Cod sursa (job #547703)
Cod sursa(job #547703)
#include<stdio.h>
int deque[500001], v[500001];
int main(){
freopen ("secventa.in", "r", stdin);
freopen ("secventa.out", "w", stdout);
int n, i, k, z=1, max=-10000, x;
scanf("%d %d ", &n, &k);
for(i=1; i<=n; i++)
scanf("%d ", &v[i]);
int front=1, back=0;
for(i=1; i<=n; i++){
while(front<=back && v[i]<=v[deque[back]])
back--;
deque[++back]=i;
while(front<=back && i-k>=deque[front]){
front++;
}
if(v[deque[front]]>max && i>=k){
max=v[deque[front]];
x=i;
}
}
printf("%d %d %d\n", x-k+1, x, max);
return 0;
}