Pagini recente » Cod sursa (job #703343) | Cod sursa (job #3797) | Cod sursa (job #2635526) | Cod sursa (job #2647618) | Cod sursa (job #514872)
Cod sursa(job #514872)
#include<stdio.h>
int a[5000002], dq[5000002], st, n;
long long sum;
int k;
int t;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
st = 1;
t = 1;
scanf("%d %d",&n,&k);
for(int i = 1; i <= n; i++)
scanf("%d",&a[i]);
dq[1] = a[1];
for(int i = 2; i <= n; i++)
{
while (a[i] < dq[t] && t >= st)
t--;
dq[++t] = a[i];
if (i > k && dq[st] == a[i-k]) st++;
if (i >= k) sum += dq[st];
}
printf("%lld",sum);
return 0;
}