An đang chơi trong công viên nhìn thấy hai con thỏ trắng và xám đang nhảy về phía nhau. Vị trí của hai con thỏ có thể được biểu diễn dưới dạng tọa độ nguyên trên một trục số. Con thỏ trắng hiện đang ở vị trí \(x\) và con thỏ xám hiện đang ở vị trí \(y\ (x\ < \ y)\). Cứ sau mỗi giây, hai con thỏ lại cùng nhảy đến một vị trí khác. Con thỏ trắng nhảy theo hướng dương và độ dài mỗi bước nhảy bằng \(a\), tức là nếu vị trí hiện tại là \(x_{0}\) thì sau khi nhảy nó sẽ đến vị trí \(x_{0}\ + \ a\). Con thỏ xám nhảy theo hướng âm và độ dài mỗi bước nhảy bằng \(b\), tức là nếu vị trí hiện tại là \(y_{0}\) thì sau khi nhảy nó sẽ đến vị trí \(y_{0}\ - \ b\).
Ví dụ, giả sử \(x\ = \ 0,\ y\ = \ 10,\ a\ = \ 3\) và \(b\ = \ 2\). Sau giây thứ nhất, mỗi con thỏ sẽ ở vị trí 3 và 8. Sau giây thứ hai, cả hai con thỏ sẽ ở cùng vị trí 6.
Bây giờ An tự hỏi: Liệu hai con thỏ có ở cùng một vị trí vào cùng một thời điểm không? Nếu có thì sẽ mất bao lâu? Bạn hãy giúp An nhé.
Dữ liệu vào: gồm một dòng chứa 4 số nguyên \(x,\ y,\ a\) và \(b\ (0 \leq x < y \leq 10^{15};\ 1 \leq a,\ b \leq \ 10^{15})\) tương ứng là vị trí hiện tại của con thỏ trắng, vị trí hiện tại của con thỏ xám, độ dài mỗi bước nhảy của con thỏ trắng và độ dài mỗi bước nhảy của con thỏ xám.
Kết quả: Nếu hai con thỏ không bao giờ đồng thời ở cùng một vị trí thì ghi ra \(- 1\). Ngược lại ghi ra một số nguyên duy nhất là số giây mà hai con thỏ sẽ cần để đồng thời ở cùng một vị trí.
Ví dụ:
Input | Output | Input | Output | |
---|---|---|---|---|
0 10 3 2 | 2 | 0 10 3 3 | -1 |
Ràng buộc:
+ Có 60% số test ứng với 60% số điểm của bài thỏa mãn: \(0 \leq x < y \leq 10^{7}\) và \(1 \leq a,\ b \leq \ 10^{7}\);
+ 20% số test khác ứng với 20% số điểm của bài thỏa mãn: \(a\ = \ b\);
+ 20% số test còn lại ứng với 20% số điểm của bài không có ràng buộc gì thêm.
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |