1165D - Almost All Divisors - CodeForces Solution


math number theory *1600

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#define _ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

void solve()
{
  long long n, res; cin>>n; 
  vector<long long>d(n);
  vector<long long>comp;
  for(long long i(0); i<n; i++)
  {
    cin>>d[i];
  }
  sort(d.begin(), d.end());
  res=d[0]*d[n-1];

  for(long long i(2); i*i<=res; i++)
  {
    if(res%i==0)
    {
      comp.push_back(i);
      if(i!=res/i)
      {
        comp.push_back(res/i);
      }
    }
  }
  sort(comp.begin(), comp.end());

  if(comp==d)
  {
    cout<<res<<"\n";
  }
  else
  {
    cout<<-1<<"\n";
  }
}

int main()
{_
  long long t; cin>>t;
  for(long long i(0); i<t; ++i)
  {
    solve();
  }
}
 
 


Comments

Submit
0 Comments
More Questions

507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm