Pagini recente » Cod sursa (job #3260501) | Cod sursa (job #559642) | Cod sursa (job #399653) | meister | Cod sursa (job #797063)
Cod sursa(job #797063)
#include <cstdio>
#define Lmax 5000000
using namespace std;
int n,k;
long long s=0;
FILE *fin=freopen("deque.in","r",stdin);
FILE *fout=freopen("deque.out","w",stdout);
struct coada
{
int x;
int p;
}c[Lmax];
void solve()
{
int sf=0;
int inc=0;
for(int i=0;i<n;i++)
{
int x;
scanf("%d",&x);
while(c[sf-1].x>x && sf>inc)
sf--;
c[sf].x=x;
c[sf++].p=i;
if(c[inc].p<=i-k)
inc++;
if(i>=k-1)
s+=c[inc].x;
}
}
int main()
{
scanf("%d %d", &n,&k);
solve();
printf("%lld\n",s);
return 0;
}