Z. Cái túi
Trong siêu thị có n đồ vật, vật thứ i có trọng lượng w[i] và giá trị v[i]. Một tên trộm đột nhập vào siêu thị, tên trộm mang theo một cái túi có thể mang được trọng lượng tối đa là m.
Yêu cầu: cho biết tên trộm sẽ lấy đi những gói hàng nào để được tổng giá trị lớn nhất.
Input
Dòng 1 chứa 2 số n, m (n ≤ 2000, m ≤ 2000).
n dòng tiếp theo, dòng thứ i chứa 2 số nguyên dương w[i], v[i] (các giá trị w[i], v[i] ≤ 1000).
Output
Ghi giá trị lớn nhất tên trộm có thể lấy.
Dòng thứ hai ghi số lượng gói hàng lấy được k.
Dòng thứ ba ghi k số là chỉ số những gói bị lấy (đánh số từ 1).
Ví dụ
Input
5 11 3 3 3 4 5 6 9 10 4 5
Output
12 3 1 2 5
Comments