[Beginner Free Contest 34] GCD

Xem dạng PDF

Gửi bài giải

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

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

Cho dãy số ~a_1, a_2, \ldots, a_N~ gồm ~N~ số nguyên dương. Gọi ~X~ là ước chung lớn nhất của dãy số. Lucas muốn bỏ đi ít số nhất (nhưng không được bỏ hết) sao cho ước chung lớn nhất của các số còn lại lớn hơn ~X~. Bạn hãy giúp Lucas tìm ra số lượng số bỏ đi ít nhất. Nếu không có cách nào hãy xuất ~-1~.

Dữ liệu

  • Dòng đầu tiên chứa một số nguyên ~N~ ~(1 \le N \le 10^5)~.

  • Dòng tiếp theo chứa ~N~ số nguyên. Số nguyên thứ ~i~ là ~a_i~ ~(1 \le a_i \le 5 \times 10^6)~.

Kết quả

  • Một số nguyên duy nhất là đáp án của bài toán.

Ví dụ

Sample Input

3
1 2 4

Sample Output

1

Giải thích

  • Ước chung lớn nhất của dãy số ban đầu là ~X = 1~. Ta cần bỏ 1 số là số ở vị trí đầu tiên thì ước chung lớn nhất của dãy còn lại là 2 (lớn hơn ~X~).

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.