Pagini recente » Cod sursa (job #1051721) | Cod sursa (job #664325) | Cod sursa (job #949409) | Cod sursa (job #3220124) | Cod sursa (job #2606885)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int nax = 5000005;
ifstream in("deque.in");
ofstream out("deque.out");
int n, k;
ll a[nax];
deque < ll > dq;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
in >> n >> k;
for (int i = 1; i <= n; i++) {
in >> a[i];
}
for (int i = 1; i <= k; i++) {
while(dq.size() && a[dq.back()] >= a[i]) {
dq.pop_back();
}
dq.push_back(i);
}
ll ans = a[dq.front()];
for (int i = k + 1; i <= n; i++) {
if (dq.front() == i - k) {
dq.pop_front();
}
while(dq.size() && a[dq.back()] >= a[i]) {
dq.pop_back();
}
dq.push_back(i);
ans += a[dq.front()];
}
out << ans << '\n';
return 0;
}