Pagini recente » Cod sursa (job #2692855) | Cod sursa (job #888475) | Cod sursa (job #608145) | Cod sursa (job #2527924) | Cod sursa (job #2286291)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k;
deque<int> D;
deque<int> Dp;
int s;
int main()
{ fin>>n>>k;
int i;
int val;
fin>>val;
D.push_front(val);
Dp.push_front(1);
for(i=2; i<=n; i++)
{ fin>>val;
if(i>k) {s+=D.front(); //fout<<D.front()<<" ";
}
while(val<=D.back()) {D.pop_back(); Dp.pop_back();}
D.push_back(val); Dp.push_back(i);
if(Dp.front()<=i-k) {D.pop_front(); Dp.pop_front();}
}
s+=D.front(); //fout<<D.front()<<" ";
fout<<s;
return 0;
}