MUA HÀNG

Mika đến của hàng gần nhà để mua quà tặng bạn bè vào dịp năm mới. Cửa hàng bán ~ n ~ món quà, món quà thứ ~ i ~ có giá là ~ a_i ~ đồng. Cửa hàng đang có chương trình khuyến mãi đặc biệt: nếu bạn mua chính xác ~ k ~ món quà, bạn sẽ chỉ trả tiền cho món quà có giá đắt nhất trong ~ k ~ món quà bạn chọn.

Mika có ~ p ~ đồng, anh ta muốn mua càng nhiều quà càng tốt với số tiền anh ta có. Mika có thể thực hiện một trong các thao tác sau nhiều lần nếu cần:

  • Mika có thể mua một món quà với chỉ số ~ i ~ nếu anh ta hiện có đủ tiền (tức là ~ p ≥a_i ~). Sau khi mua món quà này, số tiền của Mika giảm đi ~ a_i ~ đồng (tức là ~ p = p-a_i ~).
  • Mika có thể mua một món quà với chỉ số ~ i ~, và cũng chọn chính xác ~ k-1 ~ món quà khác có giá không vượt quá ~ a_i ~, nếu anh ta hiện có đủ tiền (tức là ~ p ≥ a_i ~). Do đó, anh ta mua tất cả ~ k ~ món quà này và số tiền của anh ta giảm đi ~ a_i ~ đồng (tức là ~ p = p-a_i ~).

Lưu ý rằng mỗi món quà chỉ có thể được mua không quá một lần.

Yêu cầu: Hãy giúp Mika xác định số lượng món quà tối đa anh ta có thể mua.

Dữ liệu vào:

  • Dòng 1: Chứa ba số nguyên ~ n, p, k (2 ≤ n ≤ 10^5, 1 ≤ p≤10^9, 2≤k≤ n) ~.
  • Dòng 2: Chứa ~ n ~ số nguyên ~ a_1, a_2, …, a_n (1≤a_i≤10^4) ~ là giá của ~ n ~ món quà.

Kết quả:

  • Một số nguyên duy nhất là số lượng món quà tối đa mà Mika có thể mua được.

Ví dụ:

Input

5 6 2
2 4 3 5 7 
Output
3 
Giải thích:

  • Đầu tiên, Mika mua món quà số 1 và trả 2 đồng. Sau đó mua hai món quà số 2 và 3 chỉ trả 4 đồng.

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

hpcode.edu.vn
Code tích cực
Trong 24h
  1. nguyenvuquang (12/18)
  2. huy_notcoding (9/14)
  3. ilpnvm (9/18)
Trong 7 ngày
  1. ducchinh (169/223)
  2. hienpham (163/213)
  3. bichngoc (150/213)
Trong 30 ngày
  1. ducchinh (169/223)
  2. hienpham (163/213)
  3. tgtam2022 (150/369)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37713

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