Pagini recente » Cod sursa (job #1577057) | Cod sursa (job #3030942) | Cod sursa (job #1359387) | Cod sursa (job #2115683) | Cod sursa (job #311863)
Cod sursa(job #311863)
#include <stdio.h>
int d[5000000],v[5000000];
int p,u,n,K;
void stanga(int x)
{
if (x-d[p]>=K)
p++;
}
void dreapta(int x)
{
while (p<=u&&v[x]<=v[d[u]])
u--;
d[++u]=x;
}
int main()
{
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
int x,s=0;
scanf("%d%d",&n,&K);
for (x=1;x<=K;++x)
{
scanf("%d",&v[x]);
dreapta(x);
}
s=v[d[p]];
for(x=K+1;x<=n;++x)
{
scanf("%d",&v[x]);
stanga(x);
dreapta(x);
s+=v[d[p]];
}
printf("%d",s);
return 0;
}