Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 2 · Lập trình

Mã giảm giá

Điểm
5 điểm
Tên chương trình
COUPON.*
Vào / Ra
COUPON.INP → COUPON.OUT

Đề bài

Để kỷ niệm 10 năm thành lập, trung tâm thương mại S đã tổ chức một đợt siêu khuyến mãi và tặng cho khách hàng của mình rất nhiều mã giảm giá khác nhau. Bạn là khách hàng kim cương của S và đã được tặng MM mã giảm giá. Mỗi mã giảm giá sẽ được dùng cho một sản phẩm nào đó nếu giá tiền của sản phẩm không nhỏ hơn một con số nhất định.

Cụ thể hơn, bạn có thể sử dụng mã giảm giá thứ ii nếu giá trị của sản phẩm không nhỏ hơn RiR_i đồng và khi sử dụng mã giảm giá bạn sẽ được giảm DiD_i đồng. Mỗi sản phẩm chỉ được áp dụng tối đa một mã giảm giá và mỗi mã giảm giá chỉ được sử dụng tối đa một lần cho một sản phẩm duy nhất. Bạn có dự định sẽ mua NN sản phẩm trong dịp này. Bạn hãy tìm cách sử dụng những mã giảm giá để bỏ ra số tiền nhỏ nhất có thể mua toàn bộ NN sản phẩm.

Dữ liệu vàoCOUPON.INP

Vào từ file COUPON.INP có cấu trúc gồm 3 dòng

  • Dòng đầu tiên gồm hai số nguyên dương NN và MM (N,M≤100N, M \le 100), lần lượt là số sản phẩm bạn muốn mua và số mã giảm giá bạn được nhận
  • Dòng thứ hai gồm NN số nguyên dương P1,P2,…,PNP_1, P_2, \dots, P_N lần lượt là giá tiền của NN sản phẩm bạn muốn mua.
  • Dòng thứ ba gồm MM số nguyên dương R1,R2,…,RMR_1, R_2, \dots, R_M lần lượt là giá tiền tối thiểu để áp dụng các mã giảm giá.
  • Dòng thứ tư gồm MM số nguyên dương D1,D2,…,DMD_1, D_2, \dots, D_M lần lượt là số tiền bạn sẽ được giảm nếu áp dụng mã giảm giá tương ứng.
  • Dữ liệu đảm bảo Di≤RiD_i \le R_i, với mọi ii từ 1 tới MM.
  • Tất cả các số trong dữ liệu đầu vào sẽ không vượt quá 10510^5.

Kết quả raCOUPON.OUT

Ghi ra file COUPON.OUT gồm một số nguyên duy nhất là tổng số tiền ít nhất phải bỏ ra để mua toàn bộ NN sản phẩm.

Ràng buộc

  • N,M≤100N, M \le 100; Di≤RiD_i \le R_i; mọi số trong dữ liệu vào không vượt quá 10510^5.

Ví dụ

Ví dụ 1

Dữ liệu vàoCOUPON.INP
1 2
3
2 3
1 2
Kết quả raCOUPON.OUT
1

Giải thích

Ở ví dụ đầu tiên, có 1 sản phẩm duy nhất có giá tiền là 3. Bạn có 2 mã giảm giá lần lượt như sau:

  • Mã giảm giá thứ nhất yêu cầu sản phẩm có giá tiền tối thiểu là 2 và nếu sử dụng sẽ giảm giá của sản phẩm đó đi 1.
  • Mã giảm giá thứ hai yêu cầu sản phẩm có giá tiền tối thiểu là 3 và nếu sử dụng sẽ giảm giá của sản phẩm đó đi 2.

=> Để giảm được nhiều tiền nhất, bạn có thể sử dụng mã giảm giá thứ hai cho sản phẩm. Khi đó tổng số tiền phải bỏ ra sẽ trở thành 3−2=13-2=1.

Ví dụ 2

Dữ liệu vàoCOUPON.INP
3 1
3 5 7
5
4
Kết quả raCOUPON.OUT
11

Giải thích

Ở ví dụ thứ hai, có 3 sản phẩm và 1 mã giảm giá duy nhất. Bạn có thể sử dụng mã giảm giá đó cho sản phẩm có giá tiền là 5 hoặc 7 đều được. Khi đó, tổng số tiền bạn phải trả sẽ là 3+5+7−4=113+5+7-4=11. Lưu ý rằng, bạn không thể áp dụng mã giảm giá cho cả hai sản phẩm này vì một mã giảm giá chỉ có thể sử dụng được một lần cho một sản phẩm duy nhất.

Thuộc đề thi

Kỳ thi chọn học sinh giỏi cấp tỉnh THCS năm học 2023-2024 — Môn thi: Tin học

Bình Định · Cấp tỉnh · Năm học 2023-2024

Đề sưu tầm/chép lại, có thể khác bản gốc. Xem ghi chú