Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài

Bờm đang ở một cửa hàng lớn với chương trình khuyến mại đặc biệt cho mỗi lần mua:

  • Nếu mua ít nhất 3 món cùng lúc, món rẻ nhất trong số đó được miễn phí.
  • Nếu mua ít hơn 3 món, hóa đơn được giảm giá ~q\%~.

Bờm có danh sách ~n~ món hàng cần mua (mỗi món đúng một lần). Bờm có thể chia việc mua thành bất kỳ số lần; với mỗi lần mua, cửa hàng áp dụng đúng một trong hai ưu đãi trên. Hãy tìm tổng tiền ít nhất Bờm phải trả để mua hết.

Yêu cầu

Cho ~n~, ~q~ và dãy giá ~p_1,\ldots,p_n~, hãy tính tổng số tiền nhỏ nhất để mua hết tất cả các món hàng khi Bờm được quyền nhóm các món thành nhiều lần mua, mỗi lần áp dụng một trong hai ưu đãi:

  • Nhóm từ 3 món trở lên: miễn phí món rẻ nhất của nhóm.
  • Nhóm 1 hoặc 2 món: giảm ~q\%~ cho cả nhóm.

Dữ liệu

  • Dòng 1: hai số nguyên ~n, q~ (~1 \le n \le 10^5~, ~0 \le q \le 100~).
  • Dòng 2: ~n~ số nguyên ~p_1,\ldots,p_n~ (~100 \le p_i \le 10^5~). Mỗi ~p_i~ chia hết cho 100 (nên sau giảm giá, chi phí luôn nguyên).

Kết quả

In ra một số nguyêntổng tiền nhỏ nhất cần trả.

Ví dụ

Ví dụ 1

Input

7 10
300 200 200 300 100 300 200

Output

1090

Giải thích

  • Một phương án tối ưu: nhóm ~\{200,200,200\}~ ⇒ miễn một món 200 ⇒ trả ~400~; nhóm ~\{300,300,300\}~ ⇒ miễn một món 300 ⇒ trả ~600~; nhóm ~\{100\}~ ⇒ giảm ~10\%~ ⇒ trả ~90~. Tổng ~400+600+90=1090~.

Chấm điểm

  • Subtask 1 (20%): ~n \le 10^3~.
  • Subtask 2 (20%): ~q = 0~.
  • Subtask 3 (30%): ~0 \le q \le 50~.
  • Subtask 4 (30%): Full: ~1 \le n \le 10^5~, ~0 \le q \le 100~, ~100 \le p_i \le 10^5~ (chia hết cho 100).

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.