Pagini recente » Cod sursa (job #1192800) | Cod sursa (job #2662717) | Cod sursa (job #2970093) | Cod sursa (job #242435) | Cod sursa (job #542018)
Cod sursa(job #542018)
#include<stdio.h>
int A[5000001], i, cap, coada, k, n, a,D[5000001];
long long s;
int main(){
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d", &n, &k);
for(i=1;i<=n;i++)
scanf("%d",&A[i]);
cap=1 ; coada=0;
for(i=1;i<=n;i++){
while(cap<=coada && A[i]<=A[D[coada]])
coada--;
A[++coada ]=i;
if (D[cap]==i-k)cap++;
if (i>=k) s+=A[D[cap]];
}
printf ("%lld", s);
return 0;
}