fork 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. vi v,mp(1e6+1);
  66. read(n);
  67. int mx1 = -1, mx2 = -1;
  68. fori(i,n){
  69. int e; read(e);
  70. if(e==0) continue;
  71. v.pb(e);
  72. if(e>mx1) mx2 = mx1, mx1 = e;
  73. else if(e>mx2&&e<mx1) mx2=e;
  74. mp[e]++;
  75. }
  76. if(mx1==-1 or mp[mx1]%2==0) return ps(0);
  77. if(mp[mx1]>1) return ps(mx1*mp[mx1]);
  78. if(mx2==-1||mp[mx2]%2) return ps(1);
  79. ps(mx2);
  80. }
  81.  
  82. int32_t main(){
  83. ios::sync_with_stdio(false); cin.tie(0);
  84. read(tc);
  85. fore(caso, tc){
  86. solve(caso);
  87. }
  88. }
  89.  
  90.  
Success #stdin #stdout 0.01s 11468KB
stdin
3
5
0 1 0 1 0
3
0 7 0
5
1 0 1 0 1

stdout
0
1
3