Pagini recente » Borderou de evaluare (job #2659578) | Cod sursa (job #635791) | Cod sursa (job #2731748) | Cod sursa (job #652931) | Cod sursa (job #1255249)
#include<cstdio>
int n,k,ls,i,ld,x,m;
struct nr
{
int nr,p;
}a[5000002];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d %d",&n,&k);
ls=1;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(a[ls].p==i-k)ls++;
while(x<=a[ld].nr&&ld>=ls)
ld--;
ld++;
a[ld].nr=x;
a[ld].p=i;
if(i>=k)m+=a[ls].nr;
}
printf("%d",m);
return 0;
}