Pagini recente » Cod sursa (job #2523684) | Cod sursa (job #1501037) | Cod sursa (job #2744831) | Cod sursa (job #2054085) | Cod sursa (job #633263)
Cod sursa(job #633263)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <deque>
using namespace std;
long n, k, i, a, sum;
deque < pair < long, long > > dq;
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%ld %ld", &n, &k);
for (i = 1; i <= n; ++i) {
scanf("%ld", &a);
if (dq.size() > 0)
while (dq[dq.size() - 1].first >= a)
dq.pop_back();
dq.push_back(make_pair(a, i));
if (dq[0].second <= i - k)
dq.pop_front();
if (i >= k)
sum += dq[0].first;
}
printf("%ld\n", sum);
return 0;
}