fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const long long MaxN = 5e5 + 5;
  4. long long n,a[MaxN],cnt[35];
  5. void input()
  6. {
  7. cin >> n;
  8. for (long long i=1; i<=n; i++)
  9. {
  10. cin >> a[i];
  11. }
  12. }
  13. void solve()
  14. {
  15. sort(a+1,a+n+1);
  16. long long ans=0, dem=0;
  17. for (long long i=1; i<=n; i++)
  18. {
  19. ans+=dem;
  20. if(a[i]==0)
  21. {
  22. dem++;
  23. ans++;
  24. continue;
  25. }
  26. long long mx=63-__builtin_clzll(a[i]);
  27. for (long long j=0; j<mx; j++)
  28. {
  29. if(((a[i]>>j)&1)==1)
  30. {
  31. ans+=cnt[j];
  32. }
  33. }
  34. cnt[mx]++;
  35. }
  36. cout << ans;
  37. }
  38. int main()
  39. {
  40. ios_base::sync_with_stdio(0);
  41. cin.tie(0);
  42. input();
  43. solve();
  44. }
  45.  
  46.  
Success #stdin #stdout 0.01s 5296KB
stdin
Standard input is empty
stdout
Standard output is empty