Pagini recente » Cod sursa (job #1391255) | Cod sursa (job #2566809) | Cod sursa (job #1779336) | Cod sursa (job #976904) | Cod sursa (job #547419)
Cod sursa(job #547419)
#include<stdio.h>
int deque[5000001], v[5000001];
long s;
int main(){
freopen ("deque.in", "r", stdin);
freopen ("deque.out", "w", stdout);
int n, i, k;
scanf("%d %d ", &n, &k);
for(i=1; i<=n; i++)
scanf("%d ", &v[i]);
int front=1, back=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)
s+=v[deque[front]];
}
printf("%ld ", s);
return 0;
}