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.
Dữ liệu vào:
- 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}\).
Kết quả:
- Ghi ra tổng số tiền ít nhất mà khách hàng phải trả.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
5 2 250 1000 100 3000 200 | 3350 | 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. |
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |