Pagini recente » Cod sursa (job #2295133) | Cod sursa (job #2167255) | Cod sursa (job #450435) | Cod sursa (job #2806970) | Cod sursa (job #3144913)
#include <stdio.h>
int main(void) {
FILE* f = fopen("deque.in", "r");
FILE* g = fopen("deque.out", "w");
int n, k, front = 1, back = 0, res = 0;
int s[1000002], dq[1000002];
fscanf(f, "%d %d", &n, &k);
for (int i = 1; i <= n; i++)
fscanf(f, "%d", s[i]);
for (int i = 1; i <= n; i++) {
while (front <= back && s[i] <= s[dq[i]]) back--;
dq[++back] = i;
if (dq[front] == i - k) front++;
if (i >= k) res += s[dq[front]];
}
fclose(f);
fclose(g);
return 0;
}