Pagini recente » Cod sursa (job #1064296) | Cod sursa (job #2131571) | Cod sursa (job #1038912) | Cod sursa (job #107013) | Cod sursa (job #2883947)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k;
long long x;
deque< pair<long long,int> > deq;
int main()
{
fin >> n >> k;
long long sum=0;
for(int i=1;i<=n;i++)
{
fin >> x;
while(!deq.empty() && x<=deq.back().first)
deq.pop_back();
deq.push_back(make_pair(x,i));
if(i>=k)
{
while(i-deq.front().second>=k) deq.pop_front();
sum+=deq.front().first;
}
}
fout << sum;
return 0;
}