Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define IN(x) cin>>x;
- #define MEM(a, b) memset(a, (b), sizeof(a))
- #define FOR(i, j, k, in) for (int i=j ; i<k ; i+=in)
- #define FO(i, n) for (int i=0 ; i<n ; i+=1)
- #define ROF(i, j, k, in) for (int i=j ; i>=k ; i-=in)
- #define RO(i, n) for (int i=n ; i>=0 ; i-=1)
- #define MP make_pair
- #define PB push_back
- #define INF (int)1e9
- #define MOD 998244353 //1000000007
- #define OUT(x) cout << x <<endl;
- typedef pair<int, int> PII;
- typedef vector<int> VI;
- typedef vector<string> VS;
- // typedef vector<PII> VII;
- typedef vector<VI> VVI;
- typedef unordered_map<int,int> MPII;
- typedef unordered_map<int,int> MPCI;
- typedef set<int> SETI;
- typedef set<int> SETC;
- typedef long long ll;
- int main()
- {
- ios::sync_with_stdio(false);
- cin.tie(0);
- int t;
- IN(t);
- while(t--)
- {
- int n;IN(n);
- VI v(n);
- MPII ma;
- int maximum = 0;
- FO(i,n)
- {
- cin>>v[i];
- ma[v[i]]++;
- maximum = max(maximum,ma[v[i]]);
- }
- int siz = maximum;
- int ans = 0;
- while (true)
- {
- if (siz*2>n)
- {
- break;
- }
- ans+=(siz+1);
- siz*=2;
- }
- if (siz<n)
- {
- ans += (n-siz+1);
- }
- OUT(ans);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement