Pagini recente » Cod sursa (job #541037) | Cod sursa (job #1677474)
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long n, k, A[5000010],s;
deque <int> D;
void add(int a) {
while (!D.empty()&&A[D.back()] >= A[a])D.pop_back();
D.push_back(a);
while (a - D.front() + 1 > k)D.pop_front();
}
int main() {
fin >> n >> k;
for (int i = 1; i <= n; i++) {
fin >> A[i];
}
for (int i = 1; i <= k; i++) {
add(i);
}
s += A[D.front()];
for (int i = k + 1; i <= n; i++) {
add(i);
s += A[D.front()];
}
fout << s;
return 0;
}