Pagini recente » Cod sursa (job #2924404) | Cod sursa (job #1197647) | Cod sursa (job #688800) | Cod sursa (job #2666836) | Cod sursa (job #523538)
Cod sursa(job #523538)
#include<stdio.h>
int n,k,p;
int v[5000001],x[5000001],t[5000001];
long long suma;
int main()
{
int i,num;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
num=1;
x[1]=v[1];
t[1] = 1;
p=1;
int first = 1, last = 1;
for(i=2;i<=n;i++)
{
num++;
while(v[i] < x[last] && last >= first)
last--;
x[ ++last ] = v[ i ];
t[ last ] = i;
if( t[ first ] + k <= i ) first++;
if(i>=k)
suma+=x[first];
}
printf("%lld\n",suma);
return 0;
}