Pagini recente » Cod sursa (job #765368) | Cod sursa (job #765354) | Cod sursa (job #1975654) | Cod sursa (job #1975677) | Cod sursa (job #765442)
Cod sursa(job #765442)
#include<cstdio>
int a,n,k,i,b[5000001],q[5000001],p,u;
long long s;
int main()
{freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{scanf("%d",&a);
while(u>p&&a<q[u-1])
u--;
q[u++]=a,b[p]++;
if(u-p>1)
b[p+1]++;
b[u-1]=1;
if(((u-p==1&&p==i-k)||(p<i-k&&u-p<k)||(i==k&&b[p]>1))&&b[p]<k)
s+=q[p];
else
if(u-p==k||b[p]==k||p==i-k||(i==k&&b[p]==1))
s+=q[p++];}
printf("%lld",s);
return 0;}