Language: C++

// #include <bits/stdc++.h>
// #define vi               vector<int>
// #define pb(x)            push_back(x)
// #define all(x)           x.begin(), x.end()
// #define sortall(x)       sort(all(x))
// #define debug(x)         cout << '>' << #x << ':' << x << endl;
// #define int             long long
// #define intd             float
// // const int mod = 1000000007;
// using namespace std;
// // const int N = 1e5 + 5; 
// // int n;
// // int a[N];

// int32_t main() {
//   ios_base::sync_with_stdio(false);
//   cin.tie(NULL);
//   cout.tie(NULL);
//   #ifndef ONLINE_JUDGE
//   freopen("input.txt", "r", stdin);
//   freopen("output.txt", "w", stdout);
//   #endif


// int a; intd b;
// cin >> a >> b;
// // debug(a);
// // debug(b);
// cout << floor(a*b) << endl;
// return 0;
// }

#include <bits/stdc++.h>
#define vi               vector<int>
#define pb(x)            push_back(x)
#define all(x)           x.begin(), x.end()
#define sortall(x)       sort(all(x))
#define debug(x)         cout << '>' << #x << ':' << x << endl;
#define int             unsigned long long
// const int mod = 1000000007;
using namespace std;
// const int N = 1e5 + 5; 
// int n;
// int a[N];
 
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
    #ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
  #endif
 
int n;
cin >> n;int a; 
std::vector<int> v;
int ans = 1;
unordered_map<int, int>mp;
for(int i = 0; i<n; i++){
 cin >>a;
 v.pb(a); 
 
}
 
for(int i=0; i<n; i++){
  mp[v[i]]++;
}
 
for(auto x : mp)
{
  if(x.first == 0){
    cout << 0 << endl;
    return 0;
  }
}
for(int i = 0; i<n; i++){
  ans *= v[i];
  if(ans >  1000000000000000000){
    cout << "-1" << endl;
    return 0;
  }
}
// cin >> a >> b;
// if(ans > 1000000000000000000)
// {cout << -1 << endl;}
// else{
  cout << ans<< endl;
// }
return 0;
}// #include <bits/stdc++.h>
// #define vi               vector<int>
// #define pb(x)            push_back(x)
// #define all(x)           x.begin(), x.end()
// #define sortall(x)       sort(all(x))
// #define debug(x)         cout << '>' << #x << ':' << x << endl;
// #define int             long long
// #define intd             float
// // const int mod = 1000000007;
// using namespace std;
// // const int N = 1e5 + 5; 
// // int n;
// // int a[N];

// int32_t main() {
//   ios_base::sync_with_stdio(false);
//   cin.tie(NULL);
//   cout.tie(NULL);
//   #ifndef ONLINE_JUDGE
//   freopen("input.txt", "r", stdin);
//   freopen("output.txt", "w", stdout);
//   #endif


// int a; intd b;
// cin >> a >> b;
// // debug(a);
// // debug(b);
// cout << floor(a*b) << endl;
// return 0;
// }

#include <bits/stdc++.h>
#define vi               vector<int>
#define pb(x)            push_back(x)
#define all(x)           x.begin(), x.end()
#define sortall(x)       sort(all(x))
#define debug(x)         cout << '>' << #x << ':' << x << endl;
#define int             unsigned long long
// const int mod = 1000000007;
using namespace std;
// const int N = 1e5 + 5; 
// int n;
// int a[N];
 
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);

int n;
cin >> n;int a; 
std::vector<int> v;
int ans = 1;
unordered_map<int, int>mp;
for(int i = 0; i<n; i++){
 cin >>a;
 v.pb(a); 
 
}
 
for(int i=0; i<n; i++){
  mp[v[i]]++;
}
 
for(auto x : mp)
{
  if(x.first == 0){
    cout << 0 << endl;
    return 0;
  }
}
for(int i = 0; i<n; i++){
  ans *= v[i];
  if(ans >  1000000000000000000){
    cout << "-1" << endl;
    return 0;
  }
}
// cin >> a >> b;
// if(ans > 1000000000000000000)
// {cout << -1 << endl;}
// else{
  cout << ans<< endl;
// }
return 0;
}

Compiler output:
a.cc:136:9: error: redefinition of 'int32_t main()'
  136 | int32_t main() {
      |         ^~~~
a.cc:46:9: note: 'int32_t main()' previously defined here
   46 | int32_t main() {
      |         ^~~~