Pagini recente » Cod sursa (job #1795212) | Cod sursa (job #2193781) | Cod sursa (job #765390) | Cod sursa (job #986342) | Cod sursa (job #460361)
Cod sursa(job #460361)
#include <stdio.h>
#define DIM 5000002
int A[DIM], Deque[DIM];
int n, k;
long long s;
int main(){
int i, p, u;
freopen ("deque.in", "r", stdin);
freopen ("deque.out", "w", stdout);
scanf ("%d %d", &n, &k);
for (i=1; i<=n; i++)
scanf ("%d", &A[i]);
p = 1, u = 0;
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)
s += (long long)A[Deque[p]];
}
printf ("%lld", s);
return 0;
}