Pagini recente » Cod sursa (job #3271583) | Cod sursa (job #2101093) | Cod sursa (job #2063035) | Cod sursa (job #1649918) | Cod sursa (job #634184)
Cod sursa(job #634184)
#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;
}