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)