Pagini recente » Cod sursa (job #71379) | Cod sursa (job #267943) | Cod sursa (job #2289764) | Cod sursa (job #1335648) | Cod sursa (job #1990239)
#include<fstream>
#include<deque>
using namespace std;
int main(){
ifstream in("deque.in"); ofstream out("deque.out");
int n,k,x;
long long s=0;
in>>n>>k;
deque<int> dq;
deque<int> poz;
in>>x; dq.push_back(x); poz.push_back(0);
if(k==1 || n==1) s+=x;
for(int i=1;i<n;i++){
in>>x;
while(x<=dq.back() && !dq.empty()){
dq.pop_back();
poz.pop_back();
}
dq.push_back(x); poz.push_back(i);
if(poz.front()<=i-k) {dq.pop_front(); poz.pop_front();}
if(i>=k-1) s+=dq.front();
}
out<<s;
return 0;
}