Pagini recente » Cod sursa (job #1568736) | Cod sursa (job #445978) | Cod sursa (job #2981602) | Cod sursa (job #2894180) | Cod sursa (job #1621509)
#include <stdio.h>
using namespace std;
#define ll long long unsigned
#define pb push_back
#define mp make_pair
int v[5000005],deq[5000005];
int main(){
int n,i,k,b,e;
ll sum = 0;
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d %d",&n,&k);
for(i = 1;i <= n;i++){
scanf("%d",&v[i]);
}
b = 1;
e = 0;
for(i = 1;i <= n;i++){
while(e >= b && v[i] <= v[deq[e]]){
e--;
}
deq[++e] = i;
if(i >= k){
if(deq[b] == i-k){
b++;
}
sum += v[deq[b]];
}
}
printf("%lld",sum);
return 0;
}