Advertisement
Guest User

Untitled

a guest
Jun 26th, 2022
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define IN(x) cin>>x;
  6. #define MEM(a, b) memset(a, (b), sizeof(a))
  7. #define FOR(i, j, k, in) for (int i=j ; i<k ; i+=in)
  8. #define FO(i, n) for (int i=0 ; i<n ; i+=1)
  9. #define ROF(i, j, k, in) for (int i=j ; i>=k ; i-=in)
  10. #define RO(i, n) for (int i=n ; i>=0 ; i-=1)
  11. #define MP make_pair
  12. #define PB push_back
  13. #define INF (int)1e9
  14. #define MOD 998244353     //1000000007
  15. #define OUT(x) cout << x <<endl;
  16. typedef pair<int, int> PII;
  17. typedef vector<int> VI;
  18. typedef vector<string> VS;
  19. // typedef vector<PII> VII;
  20. typedef vector<VI> VVI;
  21. typedef unordered_map<int,int> MPII;
  22. typedef unordered_map<int,int> MPCI;
  23. typedef set<int> SETI;
  24. typedef set<int> SETC;
  25. typedef long long ll;
  26.  
  27.  
  28. int main()
  29. {
  30.  
  31.     ios::sync_with_stdio(false);
  32.     cin.tie(0);
  33.  
  34.    
  35.     int t;
  36.     IN(t);
  37.  
  38.  
  39.     while(t--)
  40.     {
  41.         int n;IN(n);
  42.         VI v(n);
  43.         MPII ma;
  44.         int maximum = 0;
  45.         FO(i,n)
  46.         {
  47.             cin>>v[i];
  48.             ma[v[i]]++;
  49.             maximum = max(maximum,ma[v[i]]);
  50.         }
  51.         int siz = maximum;
  52.         int ans = 0;
  53.         int x = floor(log(n/maximum)/log(2));
  54.         ans += x + maximum*(pow(2,x)-1);
  55.         siz = maximum*pow(2,x);
  56.        
  57.         if (siz<n)
  58.         {
  59.             ans += (n-siz+1);
  60.         }
  61.         OUT(ans);
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.        
  74.        
  75.  
  76.  
  77.     }
  78.    
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement