Bài 2. Ước và Bội (THT B Khánh Hòa 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho hai số nguyên dương \(m, n\).

Yêu cầu

Hãy tìm hai số nguyên dương \(a, b\) thỏa mãn:

  • \(GCD(a, b) = m\)
  • \(LCM(a, b) = n\)
  • \(a + b\) đạt giá trị nhỏ nhất

Nếu không tồn tại cặp số \(a, b\) nào thỏa mãn, in ra \(-1\).

Input

  • Gồm một dòng duy nhất chứa hai số nguyên dương \(m, n\) (\(1 \le m \le n \le 10^{12}\)).

Output

  • In ra một số nguyên duy nhất là tổng \(a + b\) nhỏ nhất thỏa mãn, hoặc \(-1\) nếu không tồn tại cặp số nào.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(m, n \le 10^3\).
  • Subtask \(2\) (\(30\%\) số điểm): \(m, n \le 10^6\).
  • Subtask \(3\) (\(30\%\) số điểm): \(m, n \le 10^9\).
  • Subtask \(4\) (\(20\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
2 12
Output
10
Note

Các cặp \((a, b)\) thỏa mãn \(GCD(a, b) = 2\)\(LCM(a, b) = 12\) là: \((2, 12), (4, 6), (6, 4), (12, 2)\).
Trong các cặp trên, tổng nhỏ nhất là: \(4 + 6 = 10\).
Vậy đáp án là \(10\).

Bình luận (4)

Mới nhất
Tải bình luận...

Kỳ thi: