Backpack
Xem PDFVào buổi sáng trước ngày đi dã ngoại, và được thầy giáo giao phụ trách chuẩn bị đồ dùng cho cả nhóm. Trên bàn có \(n\) món đồ khác nhau, mỗi món đồ thứ \(i\) có khối lượng là \(w_i\) và giá trị hữu ích là \(v_i\). Chiếc ba lô mà thầy đưa cho nhóm có sức chứa tối đa là \(m\), nên không thể bỏ tất cả mọi thứ vào cùng một lúc. muốn chọn đúng \(k\) món đồ để mang theo, vì thầy chỉ cho phép nhóm mang một số lượng đồ vừa đủ để tránh cồng kềnh. Tuy nhiên, không phải cách chọn nào cũng hợp lệ, bởi tổng khối lượng của các món được chọn không được vượt quá \(m\). Nhiệm vụ của bạn là giúp tìm tổng giá trị hữu ích lớn nhất có thể đạt được khi chọn đúng \(k\) món đồ thỏa mãn điều kiện về khối lượng. Nếu không có cách chọn nào hợp lệ, hãy in ra -1.
Input
- Dòng đầu tiên chứa ba số nguyên \(n\), \(m\), \(k\) (\(1 \le n \le 250\), \(1 \le k \le n\), \(1 \le m \le 2500\)).
- \(n\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(w_i\), \(v_i\) (\(1 \le w_i \le 1000\), \(1 \le v_i \le 10^9\)) lần lượt là khối lượng và giá trị hữu ích của món đồ thứ \(i\).
Output
- In ra một số nguyên duy nhất là tổng giá trị hữu ích lớn nhất có thể đạt được khi chọn đúng \(k\) món đồ và tổng khối lượng không vượt quá \(m\).
- Nếu không tồn tại cách chọn hợp lệ, in ra
-1.
Example
Test 1
Input
5 10 3
2 6
3 7
4 8
5 9
6 12
Output
22
Note
\(5\) món đồ là:
- món \(1\): \(w=2\), \(v=6\)
- món \(2\): \(w=3\), \(v=7\)
- món \(3\): \(w=4\), \(v=8\)
- món \(4\): \(w=5\), \(v=9\)
- món \(5\): \(w=6\), \(v=12\)
Ta phải chọn đúng 3 món sao cho tổng khối lượng không vượt quá 10 và tổng giá trị lớn nhất.
Xét vài cách chọn hợp lệ:
- Chọn món \(1, 2, 4\):
tổng khối lượng \(2+3+5=10\)
tổng giá trị \(6+7+9=22\)
- Chọn món \(1, 3, 4\):
tổng khối lượng \(2+4+5=11\) \(>\) \(10\), không hợp lệ.
- Chọn món \(1, 2, 5\):
tổng khối lượng \(2+3+6=11\) \(>\) \(10\), không hợp lệ.
- Chọn món \(1, 3, 5\):
tổng khối lượng \(2+4+6=12\) \(>\) \(10\), không hợp lệ.
- Chọn món \(2, 3, 4\):
tổng khối lượng \(3+4+5=12\) \(>\) \(10\), không hợp lệ.
Cách tốt nhất là chọn món \(1, 2, 4\) được tổng giá trị là \(22\).
Test 2
Input
9 12 1
11 -42
3 -14
10 41
9 16
10 -61
1 45
11 37
10 2
9 -43
Output
45
Scoring
- Subtask \(1\) (\(20\%\) điểm): \(1 \le n \le 20\), \(1 \le m \le 50\), \(1 \le k \le n\).
- Subtask \(2\) (\(30\%\) điểm): \(1 \le n \le 100\), \(1 \le m \le 500\), \(1 \le k \le 20\).
- Subtask \(3\) (\(50\%\) điểm): Không có ràng buộc gì thêm.
Kỳ thi:
- 🐉PhuocThien (Div. 01) (10 Tháng sáu, 2026)
Bình luận