fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std ;
  4.  
  5. int main()
  6. {
  7. int testcases ;
  8.  
  9. cin >> testcases ;
  10.  
  11. while(testcases--) {
  12.  
  13. int n ;
  14.  
  15. cin >> n ;
  16.  
  17. int a[n] , maxi = 0 ;
  18.  
  19. map < int , int > mp ;
  20.  
  21. for(int i = 0 ; i < n ; ++i) {
  22.  
  23. cin >> a[i] ;
  24. mp[a[i]]++ ;
  25.  
  26. }
  27.  
  28. for(auto x:mp) {
  29. maxi = max(maxi , x.second) ;
  30. }
  31.  
  32. // int p = mp.size() ;
  33.  
  34. if((maxi - (mp.size() - 1)) >= 2) {
  35. cout << mp.size() << "\n" ;
  36. }
  37. else if((maxi - mp.size()) >= 0) {
  38. cout << mp.size() - 1 << "\n" ;
  39. }
  40. else {
  41. cout << maxi << "\n" ;
  42. }
  43.  
  44. }
  45. return 0 ;
  46. }
Success #stdin #stdout 0s 4352KB
stdin
4
7
4 2 4 1 4 3 4
5
2 1 5 4 3
1
1
4
1 1 1 3
stdout
3
5
0
2