Pagini recente » Cod sursa (job #1629031) | Cod sursa (job #28893) | Cod sursa (job #2388596) | Cod sursa (job #3235414) | Cod sursa (job #708436)
Cod sursa(job #708436)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct nod {
int val;
int poz;
};
deque<nod> deq;
nod aux;
int i,n,k,a,rez;
int main() {
fin>>n>>k;
for(i=1;i<=n;i++) {
fin>>a;
while ( (!deq.empty()) && (deq.back().val>a) ) deq.pop_back();
aux.val=a;
aux.poz=i;
deq.push_back(aux);
if (i>=k) {
while ( deq.front().poz<=i-k ) deq.pop_front();
rez+=deq.front().val;
}
}
fout<<rez<<"\n";
cout<<rez;
fout.close();
}