[C10_NB_23] Chuỗi vỏ ốc

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

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 Mình 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 đầu vào

Gồm hai số nguyên không âm ~m~ và ~n~ cách nhau một khoảng trắng ~(0 \le m, n \le 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 đầu ra

Gồm một số nguyên là số lượng chuỗi nhiều nhất có thể.

Ràng buộc dữ liệu

  • Có 20% số test tương ứng 20% số điểm với ~(0 \le m, n < 10^3)~;
  • Có 40% số test tương ứng 40% số điểm với ~(10^3 \le m, n < 10^9)~;
  • Có 40% số test tương ứng 40% số điểm với ~(10^9 \le m, n \le 10^{18})~.

Ví dụ

Ví dụ 1
INPUT
10 6
OUTPUT
2

Giải thích: 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.


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.