Pagini recente » Cod sursa (job #2723179) | Cod sursa (job #2893097) | Cod sursa (job #535553) | Cod sursa (job #434160) | Cod sursa (job #515116)
Cod sursa(job #515116)
#include <stdio.h>
#define NMAX 500010
int v[NMAX], deq[NMAX];
int n, k;
int main() {
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w" ,stdout);
scanf("%d%d", &n, &k);
for(int i = 1; i <= n; ++i)
scanf("%d", &v[i]);
int st = 1, dr = 0;
for(int i = 1; i <= k; ++i) {
while(st <= dr && v[deq[dr]] > v[i]) dr--;
deq[++dr] = i;
}
int sol = v[deq[st]], xsol = 1, ysol = k;
for(int i = k+1; i <= n; ++i){
while(st <= dr && v[deq[dr]] > v[i]) dr--;
deq[++dr] = i;
while(deq[dr] - deq[st] + 1 > k) st++;
if(v[deq[st]] > sol){
sol = v[deq[st]];
xsol = i-k+1;
ysol = i;
}
}
printf("%d %d %d\n", xsol, ysol, sol);
fclose(stdin);
fclose(stdout);
return 0;
}