#include<bits/stdc++.h>
#define f1(i, n) for(int i=1;i<=n;++i)
#define f0(i, n) for(int i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
const int maxn = 1e6 + 1;
const int N = 5e5 + 1;
ll A[maxn], dp[maxn];
int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	ll n, k;
	cin >> n >> k;
	f1(i, n) {
		cin >> A[i];
	}
	dp[1] = A[1];
	for (ll i = 2; i <= n; ++i) {
		ll ma = LLONG_MIN;
		for (ll j = max(i - k, 0ll); j < i; ++j) {
			ma = max(ma, dp[j]);
		}
		dp[i] = ma + A[i];
	}
	ll res = LLONG_MIN;
	for (int i = 1; i <= n; ++i) res = max(res, dp[i]);
	cout << res;
}

