Bài 4. Quà lưu niệm (TS10 Đắk Lắk 2021)

Xem PDF



Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Nhân dịp kỷ niệm 45 năm ngày thành lập tỉnh Đắk Lắk, một cửa hàng quà lưu niệm có chương trình khuyến mãi đặc biệt. Cửa hàng có \(n\) món quà được đánh số từ \(1\) đến \(n\), món quà thứ \(i\) có giá là \(a_i\).

Khách hàng khi mua một số món quà sẽ được tặng thêm một số món quà khác theo quy tắc: Cứ mỗi khi khách hàng chọn mua \(k\) món quà thì sẽ được tặng thêm \(1\) món quà miễn phí, món quà được tặng phải có giá trị nhỏ hơn hoặc bằng giá trị của món quà rẻ nhất trong \(k\) món quà đã chọn mua.

Bạn là một khách hàng muốn sở hữu tất cả \(n\) món quà của cửa hàng với chi phí thấp nhất. Hãy tính số tiền tối thiểu bạn cần phải trả.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\) và \(k\) (\(1 \le k < n \le 10^5\)).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)) là giá của các món quà.

Output

  • Một số nguyên duy nhất là số tiền tối thiểu cần trả để có được tất cả \(n\) món quà.

Example

Test 1

Input
4 2
1 3 2 4
Output
8
Note
  • Mua món quà giá \(3\) và \(4\) (tổng \(7\)), được tặng món quà giá \(2\).
  • Mua món quà giá \(1\) (tổng \(1\)).
  • Tổng chi phí: \(7 + 1 = 8\).

Test 2

Input
6 3
10 5 10 5 10 5
Output
35
Note
  • Mua 3 món quà giá \(10, 10, 10\), được tặng 1 món quà giá \(5\).
  • Mua 2 món quà giá \(5, 5\).
  • Tổng chi phí: \(10 + 10 + 10 + 5 = 35\).

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(n \le 20\).
  • Subtask \(2\) (\(60\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.