Pagini recente » Cod sursa (job #1694660) | Cod sursa (job #1324262) | Cod sursa (job #577991) | Cod sursa (job #1498154) | Cod sursa (job #3164741)
#include <bits/stdc++.h>
using namespace std;
string file = "deque";
ifstream fin(file + ".in");
ofstream fout(file + ".out");
int n, k;
deque <pair<int, int>> D;
int main() {
fin >> n >> k;
long long S = 0;
for (int i = 1; i < k; i++) {
int x;
fin >> x;
while (!D.empty() && D.back().second >= x)
D.pop_back();
D.push_back({i, x});
}
for (int i = k; i <= n; i++) {
int x;
fin >> x;
while (!D.empty() && D.front().first <= i - k)
D.pop_front();
while (!D.empty() && D.back().second >= x)
D.pop_back();
D.push_back({i, x});
S += D.front().second;
}
fout << S;
return 0;
}