Hecquyn đánh rồng

Xem dạng PDF

Gửi bài giải

Điểm: 0,15 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
NTĐ-HVT-HB
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Trong trấn chiến này, dũng sĩ Hecquyn phải chiến đấu vói một con rồng có nhiều đầu. Ban đầu rồng có ~x~ đầu. Hecquyn có thể thực hiện ~n~ loại đòn đánh. Nếu anh ta đánh đòn thứ ~i~ có dạng ~(d_i, h_i)~ thì së chặt được ~min(d_{i}, curX)~ cái đầu của rồng, trong đó ~curX~ là số lượng đầu hiện tại của rồng. Nhưng nếu sau đòn đánh này, rồng còn ít nhất một cái đầu, nó sẽ mọc thêm ~h_{i}~ cái đầu mới. Nếu ~curX=0~ thì rồng bị tiêu diệt. Hecquyn có thể ra đòn bất kỳ theo trật tự bất kỳ.

Ví dụ:

  • Nếu hiện tại rồng có ~curX=10~ cái đầu, và cú đánh của Hecquyn là ~(7,10)~ chặt được ~d=7~ cái đầu rồng, và số đầu rồng có thể mọc thêm là ~h=10~, thì sau cú đánh của Hecquyn, số đầu của rồng sẽ là ~13~ (anh ấy chặt được ~7~ đầu, nhưng sau đó rồng mọc thêm ~10~ cái đầu mới).
  • Nếu ~curX=10, d=11, h=100~ thì sau cú đánh của Hecquyn, số đầu của rồng là ~0~ và rồng sẽ chết.

Hãy tính số đòn tối thiểu mà Hecquyn cần thực hiện để đánh bại con rồng!

Dữ liệu:

  • Dòng đầu tiên chứa một số nguyên ~T (1 \le T \le 100)~ là số Bộ dữ liệu vào.
  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~x~ (1 \le n \le 10^{5}, 1 \le x \le 10^{9})~ tương ứng là số lượng các loại đòn đánh có thể của Hecquyn và số lượng đầu mà rồng có lúc ban đầu.
  • Dòng thứ ~i~ trong ~n~ dòng sau chứa mô tả về đòn đánh thứ ~i~ của Hecquyn gồm hai số nguyên ~d_{i}~ và ~h_{i} (1 \le d_{i}, h_{i} \le 10^{9})~, với ý nghĩa là: nếu Hecquyn đánh đòn thứ ~i~ thì sẽ chặt được ~d_{i}~ cái đầu rồng và rồng sẽ mọc thêm ~h_{i}~ cái đầu mới.

Kết quả:

  • Ứng với mỗi Bộ dữ liệu vào, chương trình của bạn cần in ra số đòn đánh tối thiểu mà Hecquyn phải thực hiện để đánh bại rồng. Nếu Hecquyn không thể đánh bại rồng thì in ra một số ~-1~.

Sample Input

3
3 10
6 3
8 2
1 4
4 10
4 1
3 2
2 6
1 100
2 15
10 11
14 100

Sample Output

2
3
-1

Giải thích

  • Bộ dữ liệu vào ~1~: Một cách đánh như sau, Hecquyn có thể thực hiện đòn đánh loại ~1~ ( sau đó số đầu rồng là ~10-6+3=7~), và Hecquyn sẽ thực hiện đòn đánh loại ~2~. Rồng sẽ bị chết.
  • Bộ dữ liệu vào ~2~: Hecquyn chỉ cần thực hiện đòn đánh loại ~1~ ba lần và rồng sẽ chết.
  • Bộ dữ liệu vào ~3~: Hecquyn không thể đánh bại rồng.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.