Pagini recente » Cod sursa (job #1906826) | Cod sursa (job #940682) | Cod sursa (job #1077062) | Cod sursa (job #2341847) | Cod sursa (job #2730404)
#include <stdio.h>
#include <bits/stdc++.h>
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
// const int INF = 0x3f3f3f3f;
ifstream fin {"deque.in"};
ofstream fout {"deque.out"};
int main(void) {
// freopen("deque.in", "r", stdin);
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
int N, K;
fin >> N >> K;
vector<int> a(N);
ll sum = 0;
deque<int> dq;
rep(i, N) {
fin >> a[i];
while(!dq.empty() && a[dq.back()] >= a[i]) { dq.pop_back(); }
dq.push_back(i);
if (i >= K-1) {
while(!dq.empty() && dq.front() < i - K + 1) { dq.pop_front(); }
sum += a[dq.front()];
}
}
fout << sum << '\n';
return 0;
}