SIÊU THỊ

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\)\(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.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]