Pagini recente » Cod sursa (job #1232678) | Cod sursa (job #2915141) | Cod sursa (job #775431) | Cod sursa (job #3003859) | Cod sursa (job #634185)
Cod sursa(job #634185)
#include <cstdio>
#define file_in "deque.in"
#define file_out "deque.out"
long long ans;
int N,K,i;
int V[5010100];
int front,back;
int deque[5010100];
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &N, &K);
for (i=1;i<=N;++i)
scanf("%d", &V[i]);
front=1;
back=0;
ans=0;
for (i=1;i<=N;++i){
while(front<=back && V[i]<=V[deque[back]])
back--;
deque[++back]=i;
if (deque[front]==i-K)
front++;
if (i>=K)
ans+=V[deque[front]];
}
printf("%lld\n", ans);
return 0;
}