Pagini recente » Cod sursa (job #1924927) | Cod sursa (job #3152469) | Cod sursa (job #3169939) | Cod sursa (job #2842089) | Cod sursa (job #2477489)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque< pair<int,int> >dq;
int n,k,suma=0;
int main() {
f>>n>>k;
for(int i=0; i<n; i++){
int aux;
f>>aux;
while(!dq.empty() && dq.front().second<=i-k){
dq.pop_front();
}
while(!dq.empty() && dq.back().first>=aux){
dq.pop_back();
}
dq.push_back(make_pair(aux,i));
if(i>=k-1){
suma += dq.front().first;
}
}
g<<suma;
return 0;
}