Pagini recente » Cod sursa (job #2759550) | Cod sursa (job #3166782) | Cod sursa (job #2872527) | Cod sursa (job #2825364) | Cod sursa (job #2884882)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
const int MAX = 5e6 + 1;
int v[MAX], n, k;
deque<int> q;
int main()
{
cin >> n >> k;
for(int i = 1; i <= n; ++i) {
cin >> v[i];
}
long long ans = 0;
for(int i = 1; i <= n; ++i) {
while(!q.empty() && v[ q.back() ] > v[i]) {
q.pop_back();
}
q.push_back(i);
if(q.front() == i - k) {
q.pop_front();
}
if(i >= k) {
ans = ans + v[ q.front() ];
}
}
cout << ans;
}