Pagini recente » Cod sursa (job #1501639) | Cod sursa (job #1255575) | Cod sursa (job #1472180) | Cod sursa (job #2799994) | Cod sursa (job #267028)
Cod sursa(job #267028)
#include <stdio.h>
#define Nmax 5000100
int n,k,st,dr,a[Nmax],deque[Nmax];
long long sum;
int main()
{
int 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]);
st=1; dr=0;
for(i=1;i<=n;++i)
{
while(st<=dr && a[i]<a[deque[dr]]) --dr;
if(st<=dr && deque[st] == i-k) ++st;
deque[++dr]=i;
if(i>=k) sum+=a[deque[st]];
}
printf("%lld",sum);
return 0;
}