一个tle,其他wa
#include<bits/stdc++.h>
using namespace std;
long long n,m1,m2,ma=INT_MIN;
long long sum,a[55555],k=-1,t[55555],o[55555],x,y,ym,xm,ijfedfj;
int main(){
cin>>n>>m1>>m2;
int f=2;
int w=0;
while(m1>1){
if(m1%f!=0){
f++;
x=f;
continue;
}
if(w==0){
x=f;
xm=f;
}
w=1;
m1/=f;
o[f]++;
}
// cout<<xm<<" "<<x;
for(int i=xm;i<=x;i++){
cout<<o[i]<<" "<<i<<endl;
}
for(int i=1;i<=n;i++){
cin>>a[i];
int b=a[i];
int f=2;
int w=0;
memset(t,0,sizeof(t));
while(b>1){
if(b%f!=0){
f++;
y=f;
continue;
}
if(w==0){
y=f;
ym=f;
}
w=1;
b/=f;
t[f]++;
}
if(x!=y || xm!=ym){
continue;
}
for(int u=xm;u<=x;u++){
if((t[u]==0 && o[u]!=0)||(t[u]!=0 && o[u]==0)){
continue;
}
}
if(i==1 && n==1){
cout<<1<<endl;
return 0;
}
k=0;
for(int u=ym;u<=y;u++){
if(t[u]>ma){
ma=t[u];
ijfedfj=i;
}
// cout<<i<<" ";
}
}
if(k==-1){
cout<<-1<<endl;
return 0;
}
cout<<ijfedfj<<endl;
return 0;
}