Pagini recente » Cod sursa (job #2471463) | Cod sursa (job #405695) | Cod sursa (job #397636) | Cod sursa (job #1313715) | Cod sursa (job #2834807)
#include <fstream>
#include <deque>
using namespace std;
//#define f
#define lld long long int
#ifdef f
ifstream cin("deque.in");
ofstream cout("deque.out");
#else
#include <iostream>
#endif // f
class intp {
public:
int d, p;
};
//intp v[5000000];
int main() {
int n, k;
cin >> n >> k;
intp x;
deque<intp> q;
lld sum{};
cout << '\n';
for (int i = 0; i < n; ++i) {
cin >> x.d;
x.p = i;
if (i >= k) {
sum += q.front().d;
//cout << q.front().d << ' ';
}
while(!q.empty() && q.back().d >= x.d)
q.pop_back();
q.push_back(x);
if (i - k == q.front().p)
q.pop_front();
//cout << q.front().d << ' ';
}
sum += q.front().d;
cout << sum << '\n';
return 0;
}