[10063] Tối ưu hóa giỏ hàng siêu thị
Xem dạng PDF🤔 Mô tả bài toán:
Một khách hàng đi siêu thị mua sắm với ngân sách tối đa là M đồng. Trong giỏ hàng đã chọn N sản phẩm. Mỗi sản phẩm gồm: Tên sản phẩm, Đơn giá (số nguyên), Số lượng muốn mua (số nguyên).
Yêu cầu: Đọc thông tin từ tệp SHOPPING.INP. Kiểm tra xem tổng giá trị giỏ hàng có vượt quá ngân sách M hay không.
* Nếu không vượt quá, ghi ra số tiền còn dư.
* Nếu vượt quá ngân sách, hãy ghi ra số tiền thiếu, đồng thời chỉ ra tên sản phẩm có đơn giá cao nhất trong giỏ hàng để khách hàng cân nhắc bỏ lại nhằm tiết kiệm chi phí.
💾 Dữ liệu vào:
Cho từ tệp văn bản SHOPPING.INP có dạng:
* Dòng 1 chứa số nguyên N và ngân sách M (1 <= N <= 100, M <= 109).
N nhóm dòng tiếp theo, mỗi nhóm gồm 3 dòng: Tên sản phẩm, Đơn giá, Số lượng.
💻 Dữ liệu ra:
Ghi ra tệp văn bản SHOPPING.OUT gồm một dòng duy nhất: * Nếu đủ tiền, ghi: DU X DONG (với X là số tiền dư).
* Nếu thiếu tiền, ghi 2 dòng: dòng 1 ghi THIEU Y DONG (với Y là số tiền thiếu), dòng 2 ghi tên sản phẩm có đơn giá đắt nhất.
🔍 Ví dụ:
| SHOPPING.INP | SHOPPING.OUT |
|---|---|
| 2 200000 Dau an Neptune 2L 120000 2 Gao Thom ST25 190000 1 | THIEU 230000 DONG Gao Thom ST25 |
📌 Ràng buộc dữ liệu:
+ Không có ràng buộc đặc biệt nào.
⚠️ Lưu ý về File I/O:
Bài tập yêu cầu đọc dữ liệu từ tệp tin SHOPPING.INP và xuất kết quả ra tệp tin SHOPPING.OUT.
Lưu ý: Vui lòng dùng freopen bình thường để đọc ghi (như code mẫu khi chấm Themis).
Mẹo: Bạn hoàn toàn có thể dùng lệnh ios_base::sync_with_stdio(false); cin.tie(NULL); đi kèm với freopen để tăng tốc độ đọc ghi dữ liệu lớn!
Bình luận