Mã bài:

ThamHiem

Tên bài:

Thám Hiểm

Giới hạn bộ nhớ:

64 MB

Giới hạn thời gian:

1 giây

Đăng bởi:

haunv

Độ khó:

Dễ

Dạng nhập:

THAMHIEM.INP

Dạng xuất:

THAMHIEM.OUT

Một nhà thám hiểm chuẩn bị cho một chuyến đi dài ngày vào rừng. Anh ta mang theo một chiếc túi có thể chứa tối đa s kg. Để sống sót trong rừng, anh ta cần mang theo một số vật phẩm thiết yếu. Mỗi vật phẩm có khối lượng và giá trị nhất định.

Cụ thể, có n vật phẩm, vật phẩm thứ i có:

  • Khối lượng: wi kg
  • Giá trị sử dụng: vi đồng

Nhà thám hiểm muốn chọn một tập hợp các vật phẩm sao cho tổng khối lượng không vượt quá s kg, đồng thời tổng giá trị sử dụng của các vật phẩm được chọn là lớn nhất.

Yêu cầu: Hãy viết một chương trình để giúp nhà thám hiểm lựa chọn các vật phẩm một cách tối ưu.

Dữ liệu vào: Cho từ tệp THAMHIEM.INP có dạng:

  • Dòng đầu tiên chứa hai số nguyên ns  ( 1 ≤ n ≤ 105, 1 ≤ s ≤ 105)
  • n dòng tiếp theo, mỗi dòng chứa hai số nguyên wi ​ và vi ​ ( 1 ≤ wi ≤ S1, 1 ≤ vi ≤ 105)

Dữ liệu ra: Ghi ra tệp THAMHIEM.OUT có dạng:

  • Một số nguyên duy nhất là tổng giá trị sử dụng lớn nhất mà nhà thám hiểm có thể đạt được.

Ví dụ:

THAMHIEM.INP

THAMHIEM.OUT

4 10 
2 40 

3 50 
4 70 
5 80 

170