Pagini recente » Cod sursa (job #207538) | Cod sursa (job #1547715) | Cod sursa (job #2967370) | Cod sursa (job #187982) | Cod sursa (job #2217707)
#include <bits/stdc++.h>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int main() {
ios::sync_with_stdio(false); in.tie(0); out.tie(0);
int n, k; in >> n >> k;
vector< int > v(n + 1);
for(int i = 1; i <= n; ++i) {
in >> v[i];
}
deque< int > dqMins;
long long ans = 0;
for(int i = 1; i <= n; ++i) {
while(!dqMins.empty() && v[i] <= v[dqMins.back()]) {
dqMins.pop_back();
}
dqMins.push_back(i);
if(dqMins.front() == i - k) {
dqMins.pop_front();
}
if(i >= k) {
ans += (1LL * v[dqMins.front()]);
}
}
out << ans << "\n";
return 0;
}