Pagini recente » Cod sursa (job #1839000) | Cod sursa (job #297660) | Cod sursa (job #1083218) | Cod sursa (job #1544912) | Cod sursa (job #128995)
Cod sursa(job #128995)
#include <stdio.h>
#define NMAX 500010
int N, K;
int deck[NMAX];
int poz[NMAX];
int main()
{
int i;
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d", &N, &K);
int p, q, mx = -30010, sol = 0, val;
p = 0; q = -1;
for (i = 1; i <= N; i++) {
scanf("%d", &val);
while (p <= q && poz[p] <= i - K) p++;
while (p <= q && deck[q] > val) q--;
q++;
deck[q] = val;
poz[q] = i;
if (i >= K && deck[p] > mx) {
mx = deck[p];
sol = i;
}
}
printf("%d %d %d\n", sol - K + 1, sol, mx);
return 0;
}