[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