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