Pagini recente » Cod sursa (job #2692111) | Cod sursa (job #2811130) | Cod sursa (job #1921311) | Cod sursa (job #543214) | Cod sursa (job #518168)
Cod sursa(job #518168)
#include <stdio.h>
int n,k,a[500002],dq[500002];
long long sum;
int main(void)
{int i,j,p,u;
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]);
p=1;
u=1;
dq[1]=1;
sum=0;
for(i=2;i<=n;i++)
{ while(p<=u && a[i]<=a[dq[u]])
u--;
u++;
dq[u]=i;
while(p<=u && i-dq[p]+1>k)
{p++;
}
if(i>=k)
sum+=a[dq[p]];
}
printf("%lld",sum);
return 0;
}