Pagini recente » Cod sursa (job #1225696) | Cod sursa (job #1456992) | Cod sursa (job #3171441) | Cod sursa (job #2906939) | Cod sursa (job #2808321)
#include <bits/stdc++.h>
#define ll long int
using namespace std;
deque <ll> q;
const int nmax=1e6;
ll arr[5*nmax+5],n,k;
long long int sum=0;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>n>>k;
for(int i=0;i<n;++i)
cin>>arr[i];
int i;
for(i=0;i<k;++i){
while((!q.empty()) && arr[i]<=arr[q.back()])
q.pop_back();
q.push_back(i);
}
for(;i<n;++i){
sum+=arr[q.front()];
while((!q.empty()) && q.front()<=i-k)
q.pop_front();
while((!q.empty()) && arr[i]<=arr[q.back()])
q.pop_back();
q.push_back(i);
}
sum+=arr[q.front()];
cout<<sum;
}