Almost All Divisors

    xiaoxiao2025-05-03  14

    题目描述

    输入

    输出

    样例输入

    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; }

     

    最新回复(0)