Pagini recente » Cod sursa (job #990964) | Cod sursa (job #983131) | Cod sursa (job #2443389) | Cod sursa (job #138504) | Cod sursa (job #460400)
Cod sursa(job #460400)
#include <stdio.h>
#define DIM 500002
#define INF 1<<20
int A[DIM], Deque[DIM];
int N, K, Bmin, Bpoz;
int i ,p ,u;
int main (){
FILE *f1 = fopen ("secventa.in", "r");
FILE *f2 = fopen ("secventa.out", "w");
fscanf (f1, "%d %d", &N, &K);
for (i=1; i<=N; i++) fscanf (f1, "%d", &A[i]);
p = 1; u = 0; Bmin = -INF;
for (i=1; i<=N; i++){
while (p <= u && A[i] <= A[Deque[u]])
u--;
Deque[++u] = i;
if (Deque[p] == i-K)
p++;
if (i >= K && Bmin < A[Deque[p]]){
Bmin = A[Deque[p]];
Bpoz = i;
}
}
fprintf (f2, "%d %d %d\n", Bpoz-K+1, Bpoz, Bmin);
fclose (f1);
fclose (f2);
return 0;
}