Pagini recente » Cod sursa (job #1752071) | Cod sursa (job #1823608) | Cod sursa (job #104676) | Cod sursa (job #733341) | Cod sursa (job #2518705)
#include <fstream>
#include <deque>
#include <iostream>
std::ifstream in("deque.in");
std::ofstream out("deque.out");
std::deque<std::pair<int32_t,int32_t> >d;
#define val first
#define ind second
int main(){
int64_t n,k,suma=0,aux;
in>>n>>k;
for(int32_t i=1;i<=n;i++){
in>>aux;
std::pair<int32_t,int32_t>c=std::make_pair(aux,i);
while(!d.empty() && d.front().val>aux)
d.pop_front();
while(!d.empty() && d.back().ind<i-k+1)
d.pop_back();
d.push_front(c);
if(i>=k)
suma+=d.back().val;
}
out<<suma;
}