Có \(n\) bài tập tin học đánh số từ \(1\) đến \(n\). Bài thứ \(i\) có độ khó là \(a_i\) và nếu giải được bài tập này thì kỹ năng của học sinh Hùng tăng thêm một lượng là \(b_i\). Hùng được tham gia vào đội tuyển HSG Tin học của trường. Để luyện tập, Hùng cần chọn một số bài trong số các bài tập trên để giải. Hùng chỉ có thể giải được bài \(i\) nếu kỹ năng của cậu ta không nhỏ hơn \(a_i\) và sau khi giải xong, kỹ năng của Hùng tăng thêm một lượng \(b_i\). Mỗi bài chỉ được giải nhiều nhất một lần.
Yêu cầu: Viết chương trình tìm kỹ năng lớn nhất Hùng có thể đạt được nếu chọn danh sách các bài tập phù hợp.
Input
Nhập từ bàn phím:
-
Dòng đầu tiên chứa hai số nguyên dương \(n, H\) (\(1 \le n \le 3 \cdot 10^5\); \(0 \le H \le 10^9\)) cách nhau bằng dấu trống lần lượt là số lượng bài tập và kỹ năng ban đầu của Hùng.
-
Tiếp theo là \(n\) dòng, dòng thứ \(i\) chứa hai số nguyên \(a_i, b_i\) (\(0 \le a_i, b_i \le 10^9\)) mỗi số cách nhau một dấu trống lần lượt là mức độ khó và kỹ năng tăng thêm (nếu giải được) của bài thứ \(i\).
Ràng buộc:
-
Có \(5\) test (chiếm \(62\%\) số điểm) thỏa mãn \(a_1 \le a_2 \le \cdots \le a_n\).
-
\(3\) test còn lại (chiếm \(38\%\) số điểm) không có ràng buộc bổ sung.
Output
Ghi ra màn hình một số nguyên duy nhất là giá trị lớn nhất của kỹ năng mà Hùng có thể đạt được bằng cách giải một số bài trong \(n\) bài tập nói trên.
Example
Input:
2 2
1 99
112 50
Output:
101
Note
Ban đầu kỹ năng là \(2\). Hùng giải bài \(1\) (độ khó \(1 \le 2\)) và kỹ năng tăng lên \(2 + 99 = 101\). Bài \(2\) có độ khó \(112 > 101\) nên không giải được. Kết quả là \(101\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.