Files
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

56 lines
1.3 KiB
C++

#include <bits/stdc++.h>
using namespace std;
<<<<<<< HEAD
int main() {
=======
const int INF = 0x3f3f3f3f;
const int N = 1010;
struct Node {
int number;
int count;
} a[N];
int al;
int m1;
int m2;
int n;
int mi = INF;
int main() {
cin >> n >> m1 >> m2;
for (int i = 2; i <= m1; i++) {
if (m1 % i == 0) {
a[++al].number = i;
while (m1 % i == 0) {
a[++al].count++;
}
a[al].count *= m2;
}
}
while (n--) {
int s;
cin >> s;
bool flag = true;
for (int i = 1; i <= al; i++)
if (s % a[i].number != 0) {
flag = false;
break;
}
if (flag) {
int mx = 0;
for (int i = 1; i <= al; i++) {
int cnt = 0;
while (s % a[i].number == 0) {
s /= a[i].number;
cnt++;
}
int second = ceil(1.0 * a[i].count / cnt);
mx = max(mx, second);
}
mi = min(mi, mx);
}
}
if (mi == INF) printf("-1");
else printf("%d", mi);
>>>>>>> 485a3e402b5262a90312e541a18a7485bc87f84d
return 0;
}