Ước số chung nhỏ nhất

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Ước số chung của dãy số nguyên dương là các số nguyên dương mà tất cả các số trong dãy đều chia hết cho nó. Hôm nay, Tuấn đang học về ước số chung và Tuấn được thầy giáo cho bài toán: Có một dãy số ~A~ gồm ~N~ số nguyên dương, hãy tìm ước số chung nhỏ nhất khác ~1~. Nói cách khác, Tuấn cần tìm số ~D~ nhỏ nhất, sao cho ~D > 1~ và các số trong dãy số ~A~ đều chia hết cho số ~D~ này.

Yêu cầu: Cho một số ~A~ gồm ~N~ số nguyên dương, hãy giúp Tuấn đưa ra số là Ước số chung nhỏ nhất khác ~1~.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương ~N~ (~N≤ 10^5~)
  • Dòng tiếp theo gồm ~N~ số nguyên dương ~A_i~ là các phần tử của dãy ~A~ (~A_i≤ 10^6~).

Kết quả

  • Một số nguyên dương ước chung nhỏ nhất của dãy số. Nếu không tồn tại số siêu nguyên dương nào, in ra ~-1~.

Smmple Input 1

3
1 2 3

Smmple lOutput 1

-1

Smmple Input 2

3
2 4 6

Smmple lOutput 2

2

Ràng buộc:

  • Subtask 1: chiếm ~60%~ số điểm của bài toán có ~N≤ 10^3~ và ~A_i≤ 10^5~.
  • Subtask 2: chiếm ~40%~ số điểm của bài toán với trường hợp còn lại.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.