Pagini recente » Cod sursa (job #1382279) | Monitorul de evaluare | Cod sursa (job #1003054) | Profil FlorinHaja | Cod sursa (job #1731925)
#include <cstdio>
#define BIG 5000010
int P[BIG], Deque[BIG],N,K,i;
int Prim=1,Ultim;
long long 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 ",&P[i]);
for(i = 1;i <= N;++i){
while(Prim <= Ultim && P[i] <= P[Deque[Ultim]]) Ultim--;
Deque[++Ultim] = i;
if(Deque[Prim] == i-K) Prim++;
if(i >= K) S+= P[Deque[Prim]];
}
printf("%lld\n", S);
return 0;
}