fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7.  
  8.  
  9. int findWinner(int n, int arr[]) {
  10. int map[1000] = {0};
  11. int no = n / 2;
  12.  
  13. for(int i = 0; i < n; i++){
  14. map[arr[i]]++;
  15. }
  16.  
  17. int maxn = arr[0];
  18. int max = map[arr[0]];
  19.  
  20. for(int i = 0; i < n; i++){
  21. if(max < map[arr[i]]){
  22. max = map[arr[i]];
  23. maxn = arr[i];
  24. }
  25. }
  26.  
  27. // FIXED condition
  28. if(max <= no)
  29. return -1;
  30. else
  31. return maxn;
  32. }
  33.  
  34.  
  35. int main() {
  36. int t;
  37. if (!(cin >> t)) return 0;
  38.  
  39. while (t--) {
  40. int n;
  41. if (!(cin >> n)) break;
  42.  
  43. int* arr = new int[n];
  44. for (int i = 0; i < n; i++) {
  45. cin >> arr[i];
  46. }
  47.  
  48. cout << findWinner(n, arr) << endl;
  49.  
  50. delete[] arr;
  51. }
  52.  
  53. return 0;
  54. }
Success #stdin #stdout 0.01s 5324KB
stdin
2
7
2 2 1 1 1 2 2
5
1 2 3 4 1
stdout
2
-1