#include using namespace std; using LL = long long; using ULL = unsigned long long; #define rep(i,n) for(int i=0; i<(n); i++) int N, K; LL A[200000]; int main() { cin >> N >> K; rep(i, N) cin >> A[i]; LL ans = A[K - 1]; priority_queue Q; LL tmp = 0; for (int i = 2; i * K <= N; i++) { for (int j = (i - 1) * K - 1; j < i * K - 1; j++) { tmp += A[j]; Q.push(A[j]); } rep(i, K - 1) { tmp -= Q.top(); Q.pop(); } ans = min(ans, tmp + A[i * K - 1]); } cout << ans << endl; return 0; }