Pagini recente » Cod sursa (job #1083902) | Cod sursa (job #1085280) | Cod sursa (job #1864427) | Cod sursa (job #1655902) | Cod sursa (job #544043)
Cod sursa(job #544043)
# include <stdio.h>
using namespace std;
int a[5000001], deque[5000001];
int main () {
int n, k, i, front = 1, back = 0;
long long sum = 0;
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]);
for (i = 1; i <= n; ++i) {
while (front <= back && a [ i ] <= a [ deque [ back ]]) -- back;
deque [ ++ back ] = i;
if (deque [ front ] == i - k) ++ front;
if (i >= k) sum += a [ deque [ front ]];
}
printf ("%lld\n", sum);
return 0;
}