import heapq#不用堆队列也可以做,但是会超时

n, k = map(int,input().split())
a = list(map(int,input().split()))

total_time = sum(a)
pq, saved_time = [], 0

for i in range(n-1,-1,-1):
    if (i+1)%k==0 and pq:
        max_cost = -heapq.heappop(pq)
        saved_time += max_cost
    heapq.heappush(pq, -a[i])

print(total_time-saved_time)