Pagini recente » Cod sursa (job #2147640) | Cod sursa (job #1172295) | Cod sursa (job #1489323) | Cod sursa (job #624920) | Cod sursa (job #283358)
Cod sursa(job #283358)
#include<stdio.h>
#define dim 5000001
int a[dim],c[dim];
long long suma;
int n,k,prim,ultim,i;
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]);
prim=ultim=1;
c[prim]=1;
i=2;
while(i<=n)
{
if(i==(c[prim]+k))
++prim;
while( (a[i]<a[c[ultim]]) && (prim<=ultim) )
--ultim;
++ultim;
c[ultim]=i;
if(i>=k)
suma+=a[c[prim]];
++i;
}
printf("%lld \n", suma);
return 0;
}