Pagini recente » Cod sursa (job #746573) | Cod sursa (job #2484015) | Cod sursa (job #1219139) | Cod sursa (job #122865) | Cod sursa (job #2862570)
#include <iostream>
#include <deque>
using namespace std;
int a[5000005];
int n,k;
long long sum=0;
int front=1;
int back=0;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>k;
deque<int> Q(n+1);
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
while(front<=back && a[Q[back]]>=a[i]){
back--;
}
Q[++back]=i;
if(Q[front]==i-k){
front++;
}
if(i>=k){
sum+=a[Q[front]];
}
}
cout << sum;
return 0;
}