Highscore

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn đang chơi một trò chơi chiến thuật như sau:

  • \(N\) quân lính, được đánh số từ \(1\) đến \(N\), quân lính thứ \(i\) (\(1 \leq i \leq N\)) được mô tả bởi hai số nguyên \(A_i, B_i\).
  • Cần đánh bại một kẻ địch có lượng sinh lực là \(H\).

Mỗi lượt hành động, người chơi có thể thực hiện một trong hai việc sau:

  • Chọn một quân lính thứ \(i\) đang còn sống, kích hoạt hành động gây sát thương, khiến lượng sinh lực của kẻ địch giảm một lượng bằng \(A_i\).
  • Chọn một quân lính thứ \(i\) đang còn sống, kích hoạt hành động "tự hủy", khiến lượng sinh lực của kẻ địch giảm một lượng bằng \(B_i\). Sau lượt này quân lính thứ \(i\) sẽ "đăng xuất" (không còn sống).

Biết rằng kẻ địch nêu trên bị đánh bại khi và chỉ khi lượng sinh lực của kẻ địch không vượt quá \(0\).

Yêu cầu: Cần thực hiện tối thiểu bao nhiêu lần hành động để đánh bại kẻ địch.

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\) (\(1 \leq N \leq 10^5\)) và \(H\) (\(1 \leq H \leq 10^9\)) là số quân lính và lượng sinh lực của kẻ địch.
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(A_i, B_i\) (\(1 \leq A_i < B_i \leq 10^9\)) mô tả quân lính thứ \(i\).

Output

  • Một dòng duy nhất chứa một số nguyên, là số lượt hành động ít nhất cần sử dụng.

Scoring

  • Subtask \(1\) (\(10\%\) số điểm): \(N = 1\).
  • Subtask \(2\) (\(30\%\) số điểm): \(N = 2\).
  • Subtask \(3\) (\(60\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
1 20
4 8
Output
4
Note

Cho quân lính duy nhất gây sát thương \(3\) lần, sau đó tự hủy.

Test 2

Input
2 12
6 10
1 2
Output
2
Note

Cho cả hai quân lính tự hủy.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: