Pagini recente » Cod sursa (job #3170084) | Cod sursa (job #1602192) | Cod sursa (job #99239) | Cod sursa (job #1101488) | Cod sursa (job #1753820)
#include <bits/stdc++.h>
#define NMAX 5000000
using namespace std;
int N, K;
long long sum = 0, numbers[NMAX];
deque<long long> dq;
void addDQ(long long number) {
while (!dq.empty() && dq.back() > number) dq.pop_back();
dq.push_back(number);
}
int main() {
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d%d", &N, &K);
for (int it = 0; it < K; ++it) {
scanf("%lld", &numbers[it]);
addDQ(numbers[it]);
}
sum += dq.front();
for (int it = K; it < N; ++it) {
if (dq.front() == numbers[it - K]) dq.pop_front();
scanf("%lld", &numbers[it]);
addDQ(numbers[it]);
sum += dq.front();
}
printf("%lld", sum);
return 0;
}