Xor Minimization

AtCoder
IDabc281_f
Time2500ms
Memory256MB
Difficulty
You are given a sequence of non-negative integers $A=(a_1,\ldots,a_N)$. Let us perform the following operation on $A$ just once. * Choose a non-negative integer $x$. Then, for every $i=1, \ldots, N$, replace the value of $a_i$ with the bitwise XOR of $a_i$ and $x$. Let $M$ be the maximum value in $A$ after the operation. Find the minimum possible value of $M$. What is bitwise XOR? The bitwise XOR of non-negative integers $A$ and $B$, $A \oplus B$, is defined as follows. * When $A \oplus B$ is written in binary, the $k$\-th lowest bit ($k \geq 0$) is $1$ if exactly one of the $k$\-th lowest bits of $A$ and $B$ is $1$, and $0$ otherwise. For instance, $3 \oplus 5 = 6$ (in binary: $011 \oplus 101 = 110$). ## Constraints * $1 \leq N \leq 1.5 \times 10^5$ * $0 \leq a_i \lt 2^{30}$ * All values in the input are integers. ## Input The input is given from Standard Input in the following format: $N$ $a_1$ $\ldots$ $a_N$ [samples]
Samples
Input #1
3
12 18 11
Output #1
16

If we do the operation with $x=2$, the sequence becomes $(12 \oplus 2,18 \oplus 2, 11 \oplus 2) = (14,16,9)$, where the maximum value $M$ is $16$.  
We cannot make $M$ smaller than $16$, so this value is the answer.
Input #2
10
0 0 0 0 0 0 0 0 0 0
Output #2
0
Input #3
5
324097321 555675086 304655177 991244276 9980291
Output #3
805306368
API Response (JSON)
{
  "problem": {
    "name": "Xor Minimization",
    "description": {
      "content": "You are given a sequence of non-negative integers $A=(a_1,\\ldots,a_N)$. Let us perform the following operation on $A$ just once. *   Choose a non-negative integer $x$. Then, for every $i=1, \\ldots, N",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2500,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc281_f"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given a sequence of non-negative integers $A=(a_1,\\ldots,a_N)$.\nLet us perform the following operation on $A$ just once.\n\n*   Choose a non-negative integer $x$. Then, for every $i=1, \\ldots, N...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments