Pagini recente » Cod sursa (job #2624195) | Cod sursa (job #58696) | Cod sursa (job #2715288) | Cod sursa (job #520387) | Cod sursa (job #2477490)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
deque< pair<long long,long long> >dq;
long long n,k,suma=0;
int main() {
f>>n>>k;
for(long long i=0; i<n; i++){
long long 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;
}