Pagini recente » Cod sursa (job #1434835) | Cod sursa (job #449450) | Cod sursa (job #1605280) | Cod sursa (job #1511009) | Cod sursa (job #2862563)
#include <iostream>
#include <deque>
using namespace std;
int a[5000001];
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k;
cin>>n>>k;
deque<int> Q(n+1);
for(int i=1;i<=n;i++){
cin>>a[i];
}
int sum=0;
int front=1;
int back=0;
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;
}