Pagini recente » Cod sursa (job #970187) | Cod sursa (job #2880262) | Cod sursa (job #1483971) | Cod sursa (job #643780) | Cod sursa (job #2862568)
#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);
cin.tie(0);
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;
}