Pagini recente » Cod sursa (job #1172895) | Cod sursa (job #1946117) | Cod sursa (job #2770864) | Cod sursa (job #1301153) | Cod sursa (job #296072)
Cod sursa(job #296072)
#include<stdio.h>
#define MAXN 5000015
using namespace std;
int A[MAXN], deque[MAXN], i , j , N , back , front, k;
long long int 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[i]);
back = 0; front = 1;
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 ) S += A[deque[front]];
}
printf("%lld",S);
return 0;
}