Pagini recente » Cod sursa (job #623151) | Cod sursa (job #3262099) | Cod sursa (job #2745026) | Cod sursa (job #322644) | Cod sursa (job #253188)
Cod sursa(job #253188)
#include<stdio.h>
#define N 5000002
int a[N],dq[N];
long long sol;
int main(){
int n, k, s, d, i;
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]);
s = 1;d = k-1;dq[1]=1;
for (i = 1; i <= n; i++){
if (dq[s] <= i-k && s <= d) s++;
for ( ;a[dq[d]] >= a[i] && s <= d; d--);
dq[++d] = i;
if (i>=k) sol+= a[dq[s]];
}
printf("%lld\n",sol);
return 0;
}