Pagini recente » Cod sursa (job #1885642) | Cod sursa (job #3267071) | Cod sursa (job #2933754) | Cod sursa (job #1508048) | Cod sursa (job #2887468)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<int> numere;
deque<int> pozitii;
int nrElemente, k;
int main() {
long long index, numar, suma = 0;
fin >> nrElemente >> k;
for (index = 0; index < nrElemente; index += 1) {
fin >> numar;
while (numere.empty() == 0 and numar <= numere.back()) {
numere.pop_back();
pozitii.pop_back();
}
numere.push_back(numar);
pozitii.push_back(index);
while (pozitii.empty() == 0 and pozitii.front() <= index - k) {
numere.pop_front();
pozitii.pop_front();
}
if (index >= k - 1) {
suma += numere.front();
}
}
fout << suma;
return 0;
}