Một robot cứu hỏa xuất phát tại trạm cứu hỏa 𝐴 cần đến thị trấn 𝑍 (nơi xảy ra hỏa hoạn) để làm nhiệm vụ cứu hỏa. Đường đi của robot là một đường thẳng, khi xuất phát robot cách thị trấn 𝑍 một khoảng là 𝐿 đơn vị độ dài và robot chứa 𝑃 đơn vị năng lượng; cứ đi mỗi đơn vị khoảng cách robot phải tốn 1 đơn vị năng lượng. Trên con đường từ trạm cứu hỏa 𝐴 đến thị trấn 𝑍 có 𝑁 trạm cung cấp năng lượng được đánh số từ 1 đến 𝑁. Trạm cung cấp năng lượng thứ 𝑖 cách thị trấn 𝑍 một khoảng bằng 𝐷i đơn vị độ dài và có khả năng cung cấp tối đa 𝐶i đơn vị năng lượng.
Robot cần đến thị trấn nhanh nhất để kịp thời cứu hỏa nên cần giảm thiểu tối đa việc dừng lại tại các trạm cung cấp để tiếp thêm năng lượng nếu có thể. Giả thiết rằng robot không có giới hạn về lượng năng lượng nạp thêm tại các trạm cung cấp.
Yêu cầu: Xác định số lượng tối thiểu các trạm cung cấp năng lượng mà robot phải dừng lại tiếp thêm năng lượng để có thể đến được thị trấn 𝑍.
Dữ liệu:
Dòng đầu tiên chứa số 𝑇 (𝑇 ≤ 5) là số lượng bộ dữ liệu;
Sau đó là 𝑇 nhóm dòng, mỗi nhóm là một bộ dữ liệu có dạng:
Dòng 1: chứa số nguyên dương 𝑁 (~1 ≤ 𝑁 ≤ 10^5~) là số trạm cung cấp năng lượng.
Trong 𝑁 dòng tiếp theo, mỗi dòng chứa hai số 𝐷i và 𝐶i (~1 ≤ 𝐷i≤ 10^6,1 ≤ 𝐶i ≤ 1000~) là khoảng cách từ trạm cung cấp thứ 𝑖 đến thị trấn 𝑍 và khả năng cung cấp năng lượng của trạm ấy. Dữ liệu đảm bảo 𝐷1 > 𝐷2 > ⋯ > 𝐷n.
Dòng cuối của nhóm chứa hai số nguyên 𝐿 và 𝑃 (~𝐷1 ≤ 𝐿 ≤ 10^6,2 ≤ 𝑃 ≤ 10^6~) là khoảng cách từ trạm cứu hỏa 𝐴 đến thị trấn 𝑍 và lượng năng lượng của robot lúc xuất phát.
Các số trên cùng dòng cách nhau ít nhất một dấu trống (space).
Input:
2
3
6 4
4 3
2 6
8 4
1
3 1
5 3
Output:
1
-1
Bình luận