Result: Accepted
Time: 62ms
Memory: 4068kB
#include<bits/stdc++.h>
#define rep(i,x,y) for(int i=x;i<=y;++i)
#define dep(i,x,y) for(int i=y;i>=x;--i)
using namespace std;
typedef long long ll;
int n,m,a[301010],w[301010],ans=0;
int main()
{
int an1,an2;
scanf("%d",&n);
rep(i,1,n)
scanf("%d",&a[i]);
sort(a+1,a+1+n);
n=unique(a+1,a+1+n)-a-1;
//printf("%d\n",n);
dep(i,1,n)
{
ans=max(ans,a[i]);
if(a[i]+a[i-1]<ans) break;
dep(j,1,i-1)
{
if(a[i]%a[j]==0) continue;
else {
ans=max(ans,a[i]+a[j]);
break;
}
}
// ans=max(ans,a[i]);
// rep(j,2,sqrt(a[i]))
// {
// if(a[i]%j==0)
// {
// w[a[i]/j]=1;
// w[j]=1;
// }
// }
// dep(j,1,i-1)
// if(w[a[j]]==0)
// {
// ans=max(ans,a[j]+a[i]);break;
// }
// rep(j,2,sqrt(a[i]))
// {
// if(a[i]%j==0)
// {
// w[a[i]/j]=0;
// w[j]=0;
// }
// }
}
printf("%d\n",ans);
}