Pagini recente » Cod sursa (job #291561) | Cod sursa (job #931813) | Cod sursa (job #556086) | Cod sursa (job #2588060) | Cod sursa (job #2623426)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, v[5000100];
deque<int> d;
long long sol;
void add(int x) {
while (!d.empty()) {
if (x >= d.back())
break;
d.pop_back();
}
d.push_back(x);
}
int main() {
fin >> n >> k;
for (int i = 1; i <= k; i++) {
fin >> v[i];
add(v[i]);
}
sol += (long long)d.front();
for (int i = k + 1; i <= n; i++) {
if (v[i - k] == d.front())
d.pop_front();
fin >> v[i];
add(v[i]);
sol += (long long)d.front();
}
fout << sol;
return 0;
}