2 solutions
-
1
#include<bits/stdc++.h> using namespace std; int n,nex[15000005][2],cnt,siz[15000005]; long long ans; void insert(int s){ int p=0; for(int i=29;i>=0;i--){ int c=(s>>i)&1; if(c==0)ans+=siz[nex[p][1]]; if(!nex[p][c])nex[p][c]=++cnt; p=nex[p][c]; siz[p]++; } } signed main(){ cin>>n; for(int a,i=1;i<=n;i++){ cin>>a; insert(a); } cout<<ans; return 0; }
Information
- ID
- 328
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 30
- Accepted
- 11
- Uploaded By