Pagini recente » Cod sursa (job #2181137) | Cod sursa (job #3278667) | Cod sursa (job #1602037) | Cod sursa (job #2982365) | Cod sursa (job #3331194)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string>
#include <unordered_map>
#include <stack>
#include <utility>
#include <vector>
#include <deque>
using namespace std;
#ifdef LOCAL
#define fin cin
#define fout cout
#else
ifstream fin("deque.in");
ofstream fout("deque.out");
#endif
deque<pair<int, int>> d;
int main() {
int n, k, a, s=0;
fin >> n >> k;
for (int i=1; i<=n; i++) {
fin >> a;
while (!d.empty() && a < d.back().second) d.pop_back();
if (i > k && !d.empty() && d.front().first <= i - k) d.pop_front();
d.push_back({i, a});
if (i >= k) s += d.front().second;
}
fout << s;
}