만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

두 수 XOR

면접 대비

시간 제한2초메모리 제한512 MB

요약
음이 아닌 정수 N개가 주어질 때, 서로 다른 두 원소의 XOR 중 최댓값을 구한다.
난이도

보통10점 중 6점

유형
비트 연산, 트라이
정답자
아직 제출이 없습니다

문제

NN개의 수가 주어졌을 때, XOR한 값이 가장 큰 두 수를 찾는 프로그램을 작성하시오.

즉, A1,A2,…,ANA_1, A_2, \dots, A_N 중에서 i≠ji \neq j이면서 Ai⊕AjA_i \oplus A_j가 가장 큰 것을 찾아야 한다.

입력

첫째 줄에 NN (2≤N≤100,0002 \le N \le 100{,}000)이 주어진다.

둘째 줄에 NN개의 수가 주어진다. 입력으로 주어지는 수는 1,000,000,0001{,}000{,}000{,}000보다 작거나 같은 음이 아닌 정수이다.

출력

첫째 줄에 XOR한 값이 가장 큰 두 수의 XOR 결과를 출력한다.

예제3

  1. 예제 1

    입력
    5
    1 2 3 4 5
    
    예상 출력
    7
    
  2. 예제 2

    입력
    5
    0 1 0 1 0
    
    예상 출력
    1
    
  3. 예제 3

    입력
    6
    1 2 4 8 16 32
    
    예상 출력
    48