Pagini recente » Cod sursa (job #2480121) | Cod sursa (job #2770902) | Cod sursa (job #3171169) | Cod sursa (job #322389) | Cod sursa (job #544504)
Cod sursa(job #544504)
#include<stdio.h>
using namespace std;
int a[5000001],deque[5000001];
int main()
{
int n,k,i,front=1,back=0;
long long sum=0;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=1;i<=n;i++) scanf("%d ", &a[i]);
for (i=1;i<=n;i++)
{
while (front<=back && a[i]<=a[deque[back]]) --back;
deque[++back]=i;
if (deque[front]==i-k) ++front;
if (i>=k) sum+=a[deque[front]];
}
printf("%lld\n", sum);
return 0;
}