1 solutions
-
0
#include<bits/stdc++.h> using namespace std; int n,mx,trie[10000010][2],id,a[100010]; void add(int x) { int p=0; for(int i=31;i>=0;i--) { int x1=x>>i&1; if(!trie[p][x1]) { trie[p][x1]=++id; } p=trie[p][x1]; } } int answ(int x) { int p=0,cnt=0; for(int i=31;i>=0;i--) { int x1=x>>i&1; if(trie[p][!x1]) { p=trie[p][!x1]; cnt+=1<<i; } else { p=trie[p][x1]; } } return cnt; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; add(a[i]); } for(int i=1;i<=n;i++) { mx=max(mx,answ(a[i])); } cout<<mx; return 0; }
- 1
Information
- ID
- 311
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- # Submissions
- 5
- Accepted
- 1
- Uploaded By