fork(1) download
  1. /***--_saelcc03_--***/
  2.  
  3. #include<bits/stdc++.h>
  4. using namespace std;
  5.  
  6. #ifdef LOCAL
  7. #include "debug.cpp"
  8. #else
  9. #define dbg(...)
  10. #endif
  11.  
  12. #define fori(i,n) for(int i=0;i<(int)n;i++)
  13. #define fore(i,n) for(int i=1;i<=(int)n;i++)
  14. #define fora(i,n) for(int i=(int)n-1;i>=0;i--)
  15. #define foro(i,a,b) for(int i=a;i<(int)b;i++)
  16. #define int long long
  17. #define inf 1e9
  18. #define INF 1e18
  19. #define pii pair<int,int>
  20. #define piii tuple<int,int,int>
  21. #define vi vector<int>
  22. #define vii vector<pii>
  23. #define viii vector<piii>
  24. #define vvi vector<vi>
  25. #define vvii vector<vii>
  26. #define vviii vector<viii>
  27. #define vvvi vector<vvi>
  28. #define vb vector<bool>
  29. #define vs vector<string>
  30. #define si set<int>
  31. #define mpii map<int,int>
  32. #define pb push_back
  33. #define all(v) v.begin(),v.end()
  34. #define rall(v) v.rbegin(), v.rend()
  35. #define sz(x) (int)x.size()
  36. #define yesi cout<<"Yes"<<'\n'
  37. #define nosi cout<<"No"<<'\n'
  38. #define endl '\n'
  39. #define approx(a) fixed << setprecision(a)
  40. #define ff first
  41. #define ss second
  42. #define fast read(n); vi v(n); read(v)
  43. // reading your mind
  44. template <class T> void read(vector<T> &v);
  45. template <class F, class S> void read(pair<F, S> &p);
  46. template <class T> void read(T &x) {cin >> x;}
  47. template <class T> void read(vector<T> &v) {for(auto& x : v) read(x);}
  48. template <class R, class... T> void read(R& r, T&... t){read(r); read(t...);};
  49. template <class F, class S> void read(pair<F, S> &p) {read(p.ff, p.ss);}
  50. // puking your feelings
  51. template <class T> void ps(vector<T> &v);
  52. template <class F, class S> void pr(const pair<F, S> &x);
  53. template <class T> void pr(const T &x) {cout << x;}
  54. void ps() {pr("\n");}
  55. template <class R, class... T> void pr(const R& r, const T&... t) {pr(r); pr(t...);}
  56. template <class F, class S> void pr(const pair<F, S> &x) {pr("{", x.ff, ", ", x.ss, "}\n");}
  57. template <class T> void ps(vector<T> &v) {for(auto& x : v) pr(x, ' '); ps();}
  58. template <class T> void ps(set<T> &v) {for(auto& x : v) pr(x, ' '); ps();}
  59. template <class T> void ps(const T &x) {pr(x); ps();}
  60. template <class R, class... T> void ps(const R& r, const T &...t) {pr(r, ' '); ps(t...);}
  61.  
  62. int tc=1,n,q,timer;
  63.  
  64. void solve(int caso){
  65. map<int,int> mp;
  66. read(n);
  67. int max1 = -1, max2 = -1;
  68. for (int i = 0; i < n; ++i) {
  69. int x;
  70. cin >> x;
  71. if(x==0) continue;
  72.  
  73. if (x > max1) {
  74. max2 = max1;
  75. max1 = x;
  76. }
  77. mp[x]++;
  78. }
  79. int cnt1=mp[max1];
  80. int cnt2=mp[max2];
  81. if(max1==-1 or cnt1%2==0) return ps(0);
  82. if(cnt1>1) return ps(max1*cnt1);
  83. if(max2==-1) return ps(1);
  84. if(cnt2%2) return ps(1);
  85. return ps(max2);
  86. }
  87.  
  88.  
  89. int32_t main(){
  90. ios::sync_with_stdio(false); cin.tie(0);
  91. read(tc);
  92. fore(caso, tc){
  93. solve(caso);
  94. }
  95. }
  96.  
  97.  
Success #stdin #stdout 0s 5252KB
stdin
3
5
0 1 0 1 0
3
0 7 0
5
1 0 1 0 1

stdout
0
1
3