Cái túi không giới hạn
Xem dưới dạng PDF
Gửi bài giải
Điểm:
15
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Xưởng sản xuất đồ chơi của bác Tư mỗi ngày đều có robot vận chuyển tự động hoạt động. Trong kho xưởng có \(N\) loại linh kiện khác nhau; linh kiện loại \(i\) nặng \(w_i\) gam và khi lắp vào sản phẩm hoàn chỉnh sẽ mang lại lợi nhuận \(v_i\) đồng. Mỗi loại linh kiện trong kho đều có sẵn với số lượng không giới hạn. Robot vận chuyển chỉ mang được tối đa \(W\) gam mỗi chuyến và có thể lấy nhiều linh kiện cùng loại trong một chuyến.
Mỗi chuyến robot mang về một mẻ sản phẩm hoàn chỉnh và bác Tư thu lợi nhuận tương ứng. Hãy giúp bác Tư tính tổng lợi nhuận lớn nhất mà robot có thể mang về trong đúng một chuyến.
Định dạng đầu vào
- Dòng đầu tiên chứa hai số nguyên \(N\) và \(W\) (\(1 \le N \le 5000\), \(1 \le W \le 10^5\)).
- \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(w_i\) và \(v_i\) (\(1 \le w_i \le W\), \(1 \le v_i \le 10^9\)).
Định dạng đầu ra
- In ra tổng lợi nhuận lớn nhất.
Ví dụ
Input:
3 8
2 3
3 5
5 8
Output:
13
Ràng buộc
- \(20\%\) số điểm ứng với \(N \le 20\).
- \(30\%\) số điểm ứng với \(N \le 500\), \(W \le 5000\).
- \(50\%\) số điểm còn lại không có ràng buộc gì thêm.
Nhận xét