Pagini recente » Cod sursa (job #2251580) | Cod sursa (job #2556442) | Cod sursa (job #3125086) | Cod sursa (job #1430026) | Cod sursa (job #3211186)
#pragma GCC optimize("O3,unroll-loops")
#include <fstream>
#include <deque>
using namespace std;
using ll = long long;
int main() {
ifstream f("deque.in");
ofstream g("deque.out");
int n, k;
f >> n >> k;
deque<pair<int, int>> Q;
for (int i = 0, x; i < k; ++i) {
f >> x;
while (!Q.empty() && Q.back().first > x)
Q.pop_back();
Q.emplace_back(x, i);
}
ll sum = Q.front().first;
for (int i = k, x; i < n; ++i) {
f >> x;
while (!Q.empty() && Q.front().second <= i - k)
Q.pop_front();
while (!Q.empty() && Q.back().first > x)
Q.pop_back();
Q.emplace_back(x, i);
sum += Q.front().first;
}
g << sum << '\n';
}