Pagini recente » Cod sursa (job #2102493) | Cod sursa (job #1887877) | Cod sursa (job #2670547) | Cod sursa (job #209631) | Cod sursa (job #1783514)
#include <stdio.h>
#define L 5000001
using namespace std;
struct s{int v;int p;};
int i,n,k,x,f,l;
long long sum;
s d[L];
int main()
{
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
scanf("%d%d%d", &n, &k, &d[0].v);
d[0].p=1;
for(i=2; i<=n;i++)
{
scanf("%d", &x);
if(d[f].p<=i-k) f++;
if(x<=d[l].v)
{
while(x<=d[l].v&&l>=f) l--;
d[++l].v=x;
d[l].p=i;
}
else {d[++l].p=i; d[l].v=x;}
if(i>=k) sum+=d[f].v;
}
printf("%lld",sum);
return 0;
}