#include using namespace std; typedef long long ll; typedef vector vi; typedef pair ii; #define fill(a,x) memset(a,x,sizeof(a)) #define pb push_back #define sz(x) (int)x.size() #define F first #define S second #define FOR(i,a,b) for(int i = a; i<=b; ++i) #define NFOR(i,a,b) for(int i = a; i>=b; --i) #define fast ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0) const ll INF = 1e18; const int mod = 1e9+7; const int N = 1e4+10; int n,k; bool cmp(ii a,ii b){ if(a.F != b.F)return a.F < b.F; int l = min(a.S + k,n-1) - max(a.S - k ,0); int r = min(b.S + k,n-1) - max(b.S - k,0); return l > r; } ii c[N]; int a[N]; int func(int index){ int l = max(0,index - k); int r = min(n-1,index + k); int ret = 0; FOR(i,l,r){ ret += (a[i]==0); } if(ret == 0){ return 0; } FOR(i,l,r){ a[i] = 1; } return 1; } int main(){ fast; cin >> n >> k; fill(a,0); FOR(i,0,n-1){cin >> c[i].F;c[i].S = i;} sort(c,c+n,cmp); ll ans = 0; FOR(i,0,n-1){ //cout << c[i].S << " "; if(func(c[i].S))ans += c[i].F; } cout << ans << "\n"; return 0; }