Pagini recente » Cod sursa (job #1161970) | Cod sursa (job #1735750) | Cod sursa (job #344384) | Cod sursa (job #752286) | Cod sursa (job #243177)
Cod sursa(job #243177)
#include <stdio.h>
struct deque {long v;long p;};
long n,i,k,st,dr,x;
long long sol;
deque d[5000005];
int main()
{
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
scanf("%ld %ld",&n,&k);
st=1;dr=0;
for (i=1;i<=n;++i){
scanf("%ld",&x);
while (x<d[dr].v&&dr>=st)dr--;
d[++dr].v=x;
d[dr].p=i;
while (i-d[st].p+1>k)st++;
if(i>=k)sol+=d[st].v;
}
printf("%lld",sol);
return 0;
}