Pagini recente » Cod sursa (job #2154136) | Cod sursa (job #3000849) | Cod sursa (job #804843) | Cod sursa (job #293337) | Cod sursa (job #338548)
Cod sursa(job #338548)
#include<stdio.h>
const char in[]="deque.in";
const char out[]="deque.out";
const int maxN=5000005;
int v[maxN], N, K, i, deque[maxN], front=1, back=0, max=-maxN-maxN;
long long sum=0;
int main()
{
freopen(in,"r",stdin);
scanf("%d %d", &N, &K);
for(i=1;i <= N; ++i)
scanf("%d ", &v[i]);
for(i=1;i<=N;++i)
{while(front<=back && v[i]<=v[deque[back]])--back;
deque[++back]=i;
if(deque[front]==i-K)++front;
if(i>=K)sum+=v[deque[front]];}
freopen(out,"w",stdout);
printf("%d \n", sum);
return 0;
}