Pagini recente » Cod sursa (job #69943) | Cod sursa (job #2877392) | Cod sursa (job #1964643) | Cod sursa (job #1110660) | Cod sursa (job #1606898)
#include <stdio.h>
using namespace std;
int n,k,a[5000001];
int deq[5000001];
long long s=0;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int i;
scanf("%d %d ",&n,&k);
for(i = 1;i <= n; i++){
scanf("%d",&a[i]);
}
int dr,st;
dr=1;
st=0;
for(i = 1;i <= n; i++){
while(dr <= st && a[i] <= a[deq[st]])st--;
st++;
deq[st]=i;
if(deq[dr] == i-k)dr++;
if(i>=k)
s+=a[deq[dr]];
}
printf("%lld\n",s);
return 0;
}