Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //For higher stack size use g++ -O2 -std=c++11 -Wall -Wl,--stack=268435456 a.cpp -o a.exe in cmd
- #include <bits/stdc++.h>
- #include <cstdio>
- #include <cstring>
- #include <cmath>
- #include <cstring>
- #include <chrono>
- #include <complex>
- #define ll long long
- #define ld long double
- #define vi vector<int>
- #define vll vector<ll>
- #define vvi vector < vi >
- #define pii pair<int,int>
- #define pll pair<long long, long long>
- #define mod 1000000007
- #define inf 1000000000000000001;
- #define all(c) c.begin(),c.end()
- #define mp(x,y) make_pair(x,y)
- #define mem(a,val) memset(a,val,sizeof(a))
- #define eb emplace_back
- #define pb push_back
- #define f first
- #define s second
- using namespace std;
- int main()
- {
- std::ios::sync_with_stdio(false);
- int T;
- cin>>T;
- // cin.ignore(); must be there when using getline(cin, s)
- while(T--)
- {
- ll x,n,z,ans=2e18,i;
- cin>>n>>x;
- for(i=1;i<=n;++i)
- {
- cin>>z;
- z=z/__gcd(x,z);
- if (log10(x)+log10(z) > 18)
- continue;
- ans=min(ans,x*z);
- }
- if(ans>1e18)
- ans=-1;
- cout<<ans<<endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment