Hecquyn đánh rồng


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 125M

Author:
Problem type

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\), 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 có 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\) 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 của đầu vào chứa số nguyên T \((1 \leq T \leq 100)\) là số bộ dữ liệu vào. Mỗi bộ dữ liệu vào gồm:

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(x (1 \leq n \leq 10^5, 1 \leq x \leq 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 \leq d_i, h_i \leq 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.

Ví dụ:

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

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

Comments

There are no comments at the moment.