Pagini recente » Cod sursa (job #2823715) | Cod sursa (job #2778359) | Cod sursa (job #1916359) | Cod sursa (job #867951) | Cod sursa (job #1423241)
#include <fstream>
#include <deque>
using namespace std;
int main(){
ifstream f("deque.in");
int n, k, val;
f >> n >> k;
deque<int> dq, elemente;
for(int i = 0; i < k; ++i){
f >> val;
while((!dq.empty()) && (dq.back() >= val)){
dq.pop_back(); }
dq.push_back(val);
elemente.push_back(val); }
int suma = dq.front();
for(int i = k; i < n; ++i){
if((!dq.empty()) && dq.front() == elemente.front()){
dq.pop_front(); }
elemente.pop_front();
f >> val;
elemente.push_back(val);
while((!dq.empty()) && (dq.back() > val)){
dq.pop_back(); }
dq.push_back(val);
suma += dq.front(); }
ofstream g("deque.out");
g << suma;
return 0; }