Result: Accepted
Time: 75ms
Memory: 2500kB
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
const int inf=0x3f3f3f3f;
#define ll long long
int a[maxn],b[maxn];
int n;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
if(n==1)
{
printf("%lld\n",a[1]);
return 0;
}
sort(a+1,a+1+n);
int tot=1;
b[1]=a[1];
for(int i=2;i<=n;i++)
{
if(a[i]!=a[i-1]) b[++tot]=a[i];
}
memcpy(a,b,sizeof b);
n=tot;
int p=0;
for(int i=1;i<=n;i++)
{
if(a[i]!=1)
{
p=i;
break;
}
}
if(p==0)
{
printf("1\n");
}
else if(p==n)
{
printf("%lld\n",a[n]);
}
else
{
int f=1;
for(int i=n-1;i>=p;i--)
{
if(a[n]%a[i]!=0)
{
printf("%lld\n",a[n]+a[i]);
f=0;
break;
}
}
if(f==1) printf("%lld\n",a[n]);
}
}