Pagini recente » Cod sursa (job #170903) | Cod sursa (job #774929) | Cod sursa (job #2699364) | Cod sursa (job #64324) | Cod sursa (job #634477)
Cod sursa(job #634477)
#include <stdio.h>
#define MAXN 5000010
long long sum;
int n, k, i, p, u, v[MAXN], deque[MAXN];
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
p=0;
u=-1;
sum=0;
scanf("%d%d", &n, &k);
for (i=0;i<n;i++)
scanf("%d", &v[i]);
for (i=0;i<n;i++)
{
while ((p<=u)&&(v[i]<=v[deque[u]]))
u--;
deque[++u]=i;
if (deque[p]==(i-k))
p++;
if (i>=(k-1))
sum+=v[deque[p]];
}//for i
printf("%lld\n",sum);
return 0;
}//main