Pagini recente » Cod sursa (job #1821533) | Cod sursa (job #1804750) | Cod sursa (job #827417) | Cod sursa (job #574281) | Cod sursa (job #570970)
Cod sursa(job #570970)
#include<stdio.h>
using namespace std;
int a[5000009];
int p[5000009];
int n;
long long s;
int k;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d", &n);
scanf("%d", &k);
for(int i=1;i<=n;i++)
scanf("%d", &a[i]);
int b=0,f=1;
for(int i=1;i<=n;i++)
{
while(a[i] <= a[p[b]] && f<=b)
{
b--;
}
b++;
v[b]=i;
if(p[f] == i-k)
{
f++;
}
if(i>=k)
s=s+a[p[f]];
}
printf("%lld", s);
return 0;
}