Pagini recente » Cod sursa (job #2272898) | Cod sursa (job #1787515) | Cod sursa (job #808764) | Cod sursa (job #641041) | Cod sursa (job #1528499)
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
using namespace std;
deque < pair<int, int> > d;
int main()
{
int n,k,x,i;
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d %d",&n,&k);
scanf("%d",&x);
d.pb(mp(x,1));
unsigned long long s = 0;
for(i = 2;i <= n;i++){
scanf("%d",&x);
while(d.size()&&d.back().first >= x){
d.pop_back();
}
d.pb(mp(x,i));
if(i >= k){
if(i - d.front().second == k){
d.pop_front();
}
s += d.front().first;
}
}
printf("%lld",s);
return 0;
}