Do trúng tuyển vào lớp 10 chuyên Tin học với số điểm cao, Minh được bố mẹ cho đi chơi Cồn Nổi. Tại đây, Minh nhặt được một số vỏ ốc có màu trắng và một số vỏ ốc có màu xám. Khi về nhà, Minh quyết định xâu những vỏ ốc này thành các chuỗi vòng để tặng bạn. Biết rằng số vỏ ốc màu trắng là \(m\), số vỏ ốc màu xám là \(n\) và Minh dùng tất cả số vỏ ốc mà mình đã nhặt được để xâu các chuỗi vòng.
Yêu cầu: Hãy giúp Minh chia các vỏ ốc này thành nhiều chuỗi nhất sao cho tất cả các chuỗi vòng này có số vỏ ốc mỗi màu đều bằng nhau.
Dữ liệu vào:
+ Hai số nguyên không âm \(m\) và \(n\) cách nhau một khoảng trắng \((0 \leq m,n \leq 10^{18})\), lần lượt là số lượng vỏ ốc màu trắng và vỏ ốc màu xám.
Dữ liệu ra:
+ Ghi một số nguyên là số lượng chuỗi nhiều nhất có thể.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
10 6 | 2 | Có 2 cách để xâu các chuỗi: + Cách 1: Chỉ xâu 1 chuỗi có 10 vỏ ốc màu trắng và 6 vỏ ốc màu xám; + Cách 2: Xâu thành 2 chuỗi, mỗi chuỗi đều có 5 vỏ ốc màu trắng và 3 vỏ ốc màu xám; Chọn cách 2 vì số lượng chuỗi nhiều hơn. |
Ràng buộc:
+ Có 20% số test tương ứng 20% số điểm với \((0 \leq m,n < 10^{3})\)
+ Có 40% số test tương ứng 40% số điểm với \((10^{3} \leq m,n < 10^{9})\)
+ Có 40% số test tương ứng 40% số điểm với \((10^{9} \leq m,n \leq 10^{18})\)
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 |