rt。
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,flag[1000001],MAX=-1;
cin>>n;
for(int i=1;i<=n;i++){//通过循环输入
int tmp;//因为输入的数据后面不会用到,直接用tmp输入即可
cin>>tmp;
flag[tmp]++;//标记如果是这个数的倍数的话flag[tmp]++
MAX=max(MAX,tmp);//找到最大值方便之后用
}
int sum=0,MAXN=-1;
for(int x=1;x<=MAX;x++){//循环暴力枚举x即可
//这个时候sum注意清零,因为本人在这里卡了好多次
sum=0;
for(int i=x;i<=MAX;i+=x)//因为我们这里是循环加到max,所以写成这样的形式、
sum+=flag[i];//这里循环加上所有到max的倍数
if(sum>1)//特判如果sum大于1
MAXN=max(sum*x,MAX);//判断大小,找到最大
}
cout<<MAXN;
//输出最大值
return 0;
}