Pagini recente » Cod sursa (job #2095629) | Cod sursa (job #698186) | Cod sursa (job #2824838) | Cod sursa (job #1445601) | Cod sursa (job #672576)
Cod sursa(job #672576)
#include<stdio.h>
int n,k,i,p,u,a;
long long min;
struct tudi
{
int i,v;
};
tudi dq[5000001];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
p=1;
u=1;
scanf("%d",&a);
dq[p].v=a;
dq[p].i=1;
for(i=2;i<=n;i++)
{
scanf("%d",&a);
while(a<dq[u].v&&p<=u)
{
u--;
}
dq[++u].v=a;
dq[u].i=i;
if(dq[u].i-dq[p].i+1>k)
p++;
if(i>=k)
min=min+dq[p].v;
}
printf("%lld",min);
return 0;
}