Pagini recente » Cod sursa (job #1681691) | Cod sursa (job #2368951) | Cod sursa (job #1435586) | Cod sursa (job #1502225) | Cod sursa (job #289232)
Cod sursa(job #289232)
#include<stdio.h>
#define nmax 5000010
long n,k,p,u;
long v[nmax],deq[nmax];
void adauga(long i)
{
while(u>=p && v[deq[u]]>=v[i])
u--;
deq[++u]=i;
}
void read()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%ld%ld",&n,&k);
long i,s=0;
p=1;
u=0;
for(i=1;i<=k;i++)
{
scanf("%ld",&v[i]);
adauga(i);
}
s=s+v[deq[p]];
for(i=k+1;i<=n;i++)
{
scanf("%ld",&v[i]);
if(deq[p]==i-k)
++p;
adauga(i);
s=s+v[deq[p]];
}
printf("%ld\n",s);
}
int main()
{
read();
return 0;
}