题目描述
输入
输出
样例输入
2 8 8 2 12 6 4 24 16 3 1 2
样例输出
48 4
代码:
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<algorithm>
#include<queue>
#include<math.h>
#include<set>
using namespace std;
#define INF 1e9
typedef long long ll;
#define PI acos(-1)
int main()
{
int t,n;
ll a[305];
cin >> t;
while(t--)
{
ll ans = 0;
scanf("%d",&n);
for(ll i = 0; i < n; i++)
scanf("%lld",&a[i]);
sort(a,a+n);
ans = a[0]*a[n-1];
int cunt = 0;
int flag = 1;
for(ll i = 0; i < n; i++)
{
if(ans%a[i] != 0)
{
flag = 0;
break;
}
}
for(ll i = 2; i <= sqrt(ans); i++)
{
if(ans%i == 0)
{
if(i*i == ans)
{
cunt++;
}
else
{
cunt += 2;
}
}
}
if(cunt!=n)
{
flag=0;
}
if(flag == 1) printf("%lld\n",ans);
else printf("-1\n");
}
return 0;
}