Pagini recente » Cod sursa (job #2292631) | Cod sursa (job #2251775) | Cod sursa (job #694742) | Cod sursa (job #1801691) | Cod sursa (job #1803696)
#include <iostream>
#include <deque>
#include <cstdio>
#define cout cerr
#define MAX 5000005
using namespace std;
int a[MAX],n,k;
long long s;
deque <int> q;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
s=0;
for(int i=1;i<=n;i++)
{
if(q.empty())
q.push_back(i);
else
{
while(!q.empty() && a[q.back()]>=a[i])
q.pop_back();
if(!q.empty() && q.front()+k<=i)
q.pop_front();
q.push_back(i);
}
if(i>=k)
s+=a[q.front()];
}
printf("%d",s);
return 0;
}