# 題目

AP325 P-6-13. 周伯通的基地台 (@@)

# 解題思路

目前沒東西...

# 程式碼

#include<bits/stdc++.h>
using namespace std;
#define N 2000005
deque<int> min_d;
int a[N];
long long dp[N];
void put_min(int i){
    while(min_d.size()!=0 && dp[min_d.back()]>=dp[i])
        min_d.pop_back();
    min_d.push_back(i);
}
int main(){
    int n,k;
    cin>>n>>k;
    for(int i=0;i<n;i++)
        cin>>a[i];
    dp[0]=a[0];
    put_min(0);
    for(int i=1;i<=k;i++){
        dp[i]=a[i];
        put_min(i);
    }
    for(int i=k+1;i<n;i++){
        if(min_d.front()<=i-2*k-2)
            min_d.pop_front();
        dp[i]=dp[min_d.front()]+a[i];
        put_min(i);
    }
    while(min_d.front()<=n-2-k)
        min_d.pop_front();
    cout<<dp[min_d.front()];
    return 0;
}