Pagini recente » Cod sursa (job #846870) | Cod sursa (job #364838) | Cod sursa (job #1380178) | Cod sursa (job #514948) | Cod sursa (job #2420091)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <deque>
#define INF 0x3f3f3f3f
using namespace std;
deque <pair<int,int>> q;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
long long n,k,i,s=0,nr;
scanf("%lld%lld",&n,&k);
for(i=1;i<=n;i++){
scanf("%lld",&nr);
while(q.size() && q.front().second < i-k+1)
q.pop_front();
while(q.size() && nr <= q.back().first)
q.pop_back();
q.push_back({nr,i});
if(i >= k)
s += q.front().first;
}
printf("%lld",s);
return 0;
}