Pagini recente » Cod sursa (job #2598025) | Cod sursa (job #3151125) | Cod sursa (job #2392733) | Cod sursa (job #3041762) | Cod sursa (job #858582)
Cod sursa(job #858582)
#include <fstream>
#include <list>
#include <cstdio>
using namespace std;
list <int> v;
int a[5000002];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k,i;
long long s=0;
scanf("%d %d", &n,&k);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
{
while( !v.empty() && a[i]<=a[v.back()]) v.pop_back();
v.push_back(i);
if(v.front()==i-k) v.pop_front();
if(i>=k) s+=a[v.front()];
}
printf("%lld",s);
}