Pagini recente » Cod sursa (job #2514967) | Cod sursa (job #2009296) | Cod sursa (job #2842535) | Cod sursa (job #2319928) | Cod sursa (job #1594077)
#include <fstream>
#include <cstdio>
#define NMax 5000005
using namespace std;
long long n,k;
long long a[NMax],q[NMax];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%I64d%I64d",&n,&k);
for(int i = 1; i <= n; ++i){
scanf("%I64d",&a[i]);
}
long long s = 0;
long long fr = 1, bk = 0;
for(int i = 1; i <= n; ++i){
while(fr <= bk && a[i] <= a[q[bk]]){
bk--;
}
q[++bk] = i;
if(q[fr] == i - k){
fr++;
}
if(i >= k)
s += a[q[fr]];
}
printf("%I64d",s);
return 0;
}