Pagini recente » Cod sursa (job #2193242) | Cod sursa (job #1683538) | Cod sursa (job #525854) | Cod sursa (job #1146162) | Cod sursa (job #3144914)
#include <stdio.h>
int s[1000002], dq[1000002];
int main(void) {
FILE* f = fopen("deque.in", "r");
FILE* g = fopen("deque.out", "w");
int n, k, front = 1, back = 0, res = 0;
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;
}