Siêu thị

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một siêu thị thực hiện ưu đãi khi bán các sản phẩm cho khách hàng như sau: Nếu khách hàng mua \(p\) sản phẩm, với \(p \geq k\) thì không phải thanh toán tiền cho một sản phẩm có giá tiền nhỏ nhất. Ví dụ, với \(k = 2\), khi thanh toán 3 sản phẩm có giá lần lượt là 250, 1000, 200 (đơn vị là nghìn đồng), khách hàng không phải thanh toán tiền cho sản phẩm có giá 200 và chỉ phải trả số tiền là 1250.

Một khách hàng cần mua \(n\) sản phẩm ở siêu thị và biết sản phẩm thứ \(i\) \((1 \leq i \leq n)\) có giá tiền là \(a_i\) (nghìn đồng). Khách hàng có thể thực hiện mua \(n\) sản phẩm thành nhiều lần để được hưởng ưu đãi của siêu thị một cách có lợi nhất.

Yêu cầu: Tìm tổng số tiền ít nhất mà khách hàng phải trả khi mua đủ \(n\) sản phẩm.

Input

  • Dòng đầu chứa hai số nguyên \(n\) và \(k\) \((1 \leq n \leq 10^3, \ 2 \leq k \leq 10^2)\).
  • Dòng sau chứa \(n\) số nguyên dương \(a_i\) \((1 \leq i \leq n)\), mỗi số không vượt quá \(10^6\).

Output

  • Tổng số tiền ít nhất mà khách hàng phải trả.

Example

Test 1

Input
5 2
250 1000 100 3000 200
Output
3350
Note

Khách hàng sẽ mua 5 sản phẩm thành 3 lần:

  • Lần 1 mua 2 sản phẩm 2, 4: số tiền phải trả là 3000.
  • Lần 2 mua 2 sản phẩm 1, 5: số tiền phải trả là 250.
  • Lần 3 mua 1 sản phẩm 3: số tiền phải trả là 100.

Tổng số tiền ít nhất phải trả là 3350.

Bình luận

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

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

Kỳ thi: