Pagini recente » Cod sursa (job #119359) | Cod sursa (job #1935116) | Cod sursa (job #2808589) | Cod sursa (job #934957) | Cod sursa (job #592572)
Cod sursa(job #592572)
#include <stdio.h>
#define DIM 5000010
long long S, V[DIM];
int D[DIM];
int i, N, K, p, u;
int main() {
FILE *f = fopen("deque.in","r");
fscanf(f,"%d %d",&N,&K);
p = 1;u = 0;
for (i=1;i<=N;i++) {
fscanf(f,"%lld",&V[i]);
while (p<=u && V[i]<=V[D[u]])
u--;
D[++u] = i;
if (i>K && D[p]<i-K+1)
p++;
if (i>=K)
S = S + V[D[p]];
}
FILE *g = fopen("deque.out","w");
fprintf(g,"%lld",S);
fclose(g);
fclose(f);
return 0;
}