Pagini recente » Cod sursa (job #1053935) | Cod sursa (job #3155409) | Cod sursa (job #2986327) | Cod sursa (job #1997854) | Cod sursa (job #2283938)
#include <cstdio>
#define MAXN 5000000
using namespace std;
int v[MAXN],dq[MAXN];
int main() {
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int st,dr,n,i,k;
long long s;
scanf("%d%d",&n,&k);
s = 0;
for( i = 0; i < n; i ++ )
scanf("%d",&v[i]);
st = 0;
dr = -1;
for( i = 0; i < n; i ++ ) {
if( st <= dr && dq[st] == i - k )
st ++;
while( st <= dr && v[i] <= v[dq[dr]] )
dr --;
dq[++dr] = i;
if( i >= k - 1 )
s += v[dq[st]];
}
printf("%lld",s);
return 0;
}