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

Bác Ba là thương lái quen chở trái cây từ vườn nhà cô Mai ra chợ đầu mối mỗi đêm. Xe tải nhỏ của bác chỉ chở được tối đa \(W\) ki-lô-gam. Hôm nay vườn cô Mai có \(N\) loại trái cây, mỗi loại chỉ có đúng một thùng: thùng thứ \(i\) nặng \(w_i\) kg và bán được \(v_i\) đồng ở chợ. Bác Ba phải chọn một số thùng, mỗi thùng chỉ lấy tối đa một lần, sao cho tổng khối lượng không vượt quá sức chứa của xe và tổng số tiền thu được là lớn nhất có thể.

Hãy giúp bác Ba tính tổng tiền lớn nhất bác có thể mang về một cách an toà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 số tiền lớn nhất bác Ba kiếm được.

Ví dụ

Input:

4 7
1 1
3 4
4 5
5 7

Output:

9

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

Không có ý kiến tại thời điểm này.