GIFTS5


Submit solution

Points: 40
Time limit: 1.0s
Memory limit: 512M

Problem type

n món quà, được đánh số từ 1 đến n, món quà thứ i có khối lượng wi và giá trị vi, và ci=0/1 tương ứng không chọn/chọn món i. Cần chọn một số món quà sao cho tổng khối lượng của chúng không vượt quá S.

Tuy nhiên, trong số những món không được chọn (có ci=0) thì ta được phép đổi một món được chọn (có cj=1) với 1 món không được chọn (có ci=0), với điều kiện tổng khối lượng các món lấy được không được vượt quá S.

Yêu cầu: Tính tổng giá trị lớn nhất tìm được khi chọn các món quà để có tổng khối lượng không vượt quá S.

Input

  • Dòng thứ nhất chứa hai số nguyên dương n,s(n105;S109).

  • Dòng thứ i trong n dòng tiếp theo chứa hai số nguyên dương wi,vi,ci(wi,vi109) với ci=1/0 tương ứng món quà thứ i được chọn hoặc không được chọn.

Dữ liệu đảm bảo tổng khối lượng các món quà mà đã chọn không vượt quá S.

Output

  • In ra chuẩn một dòng chứa một số nguyên là tổng giá trị lớn nhất có thể đạt được.

Ràng buộc

  • Subtask 1 (70% số điểm): n103.

  • Subtask 2 (30% số điểm): n105

Sample Input

Copy
3 10
4 5 1
6 8 1
5 7 0

Sample Output

Copy
13

Comments

There are no comments at the moment.