Pagini recente » Cod sursa (job #1257205) | Cod sursa (job #2922283) | Cod sursa (job #1408482) | Cod sursa (job #3269075) | 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;
}