Pagini recente » Cod sursa (job #2149718) | Cod sursa (job #3225818) | dedicatie | Cod sursa (job #694551) | Cod sursa (job #672543)
Cod sursa(job #672543)
#include<stdio.h>
struct DEQUE {int a,i;};
DEQUE q[5000005];
int p,u,i;
void adaugare(int x)
{
while(u)
{
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;
}