Pagini recente » Cod sursa (job #919565) | Cod sursa (job #1833198) | Cod sursa (job #1913793) | Cod sursa (job #2531494) | Cod sursa (job #2781820)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
struct numar {
int val, poz;
};
deque<numar> deq;
long long n, k, s;
int main() {
cin >> n >> k;
for (int i = 1; i <= n; i++) {
int nr;
cin >> nr;
while (deq.empty() != 1 && deq.front().poz < i - k + 1) {
deq.pop_front();
}
while (deq.empty() != 1 && deq.back().val > nr) {
deq.pop_back();
}
numar x;
x.val = nr;
x.poz = i;
deq.push_back(x);
if (i >= k) {
s += deq.front().val;
}
}
cout << s;
}