#include using namespace std; const long long INF = (long long) 1e18; const int N = 1e4 + 1; int main() { int n, k; cin >> n >> k; vector a(n + 1); for (int i = 1; i <= n; ++i) { cin >> a[i]; } long long ans = INF; for (int x = 1; x <= k + 1; ++x) { for (int y = n; y >= n - k; --y) { int L = x + k + 1; int R = y - k - 1; if (L >= R) { ans = min(ans, 1LL * a[x] + a[y] * (x != y)); continue; } if ((R - L + 1) % (k + k + 1) == 0) { //cerr << L << ' ' << R << endl; long long cur = 0; for (int i = L + k; i <= R; i += k + k + 1) cur += a[i]; ans = min(ans, cur + a[x] + a[y] * (x != y)); } } } cout << ans << endl; return 0; }