Pagini recente » Cod sursa (job #2258161) | Cod sursa (job #1138712) | Cod sursa (job #65880) | Cod sursa (job #1805231) | Cod sursa (job #296067)
Cod sursa(job #296067)
#include<stdio.h>
#define MAXN 5000015
using namespace std;
int A[MAXN], deque[MAXN], i , j , N , back , front;
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;
}