Pagini recente » Cod sursa (job #1660670) | Cod sursa (job #1385769) | Cod sursa (job #717503) | Cod sursa (job #1941710) | Cod sursa (job #672549)
Cod sursa(job #672549)
#include<stdio.h>
struct DEQUE {int a,i;};
DEQUE q[5000005];
int p,u,i;
inline void adaugare(int x)
{
while(u>=p)
{
if(q[u].a<x)
break;
u--;
}
q[++u].a=x;
q[u].i=i;
}
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k,x;p=1;u=0;
long long s=0;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
adaugare(x);
if(q[u].i-q[p].i==k)
p++;
if(i>=k)
s=s+q[p].a;
}
printf("%lld\n",s);
return 0;
}