Pagini recente » Istoria paginii utilizator/soniaflorina | Cod sursa (job #2720640) | Cod sursa (job #1362246) | Cod sursa (job #2071451) | Cod sursa (job #1990242)
#include<fstream>
#include<deque>
using namespace std;
struct el{
int val, poz;
el(int _val=0, int _poz=0){
val=_val; poz=_poz;
}
};
int main(){
ifstream in("deque.in"); ofstream out("deque.out");
int n,k,i,x;
long long sum=0;
deque<el> dq;
in>>n>>k;
for(i=0;i<n;++i){
in>>x;
while(!dq.empty() && x<=dq.back().val) dq.pop_back();
dq.push_back(el(x,i));
if(dq.front().poz<=i-k) dq.pop_front();
if(i>=k-1) sum+=dq.front().val;
}
out<<sum;
in.close(); out.close();
return 0;
}