Codeforces Round 683 (Div. 2, by Meet IT)
E
Xor Tree
Codeforces
未评级
原题
← DF1 →
翻译中…

For a given sequence of distinct non-negative integers $(b_1, b_2, \dots, b_k)$ we determine if it is good in the following way:

翻译中…
  • Consider a graph on $k$ nodes, with numbers from $b_1$ to $b_k$ written on them.
  • For every $i$ from $1$ to $k$: find such $j$ ($1 \le j \le k$, $j\neq i$), for which $(b_i \oplus b_j)$ is the smallest among all such $j$, where $\oplus$ denotes the operation of bitwise XOR (https://en.wikipedia.org/wiki/Bitwise_operation#XOR). Next, draw an undirected edge between vertices with numbers $b_i$ and $b_j$ in this graph.
  • We say that the sequence is good if and only if the resulting graph forms a tree (is connected and doesn't have any simple cycles).
翻译中…

It is possible that for some numbers $b_i$ and $b_j$, you will try to add the edge between them twice. Nevertheless, you will add this edge only once.

翻译中…

You can find an example below (the picture corresponding to the first test case).

翻译中…

Sequence $(0, 1, 5, 2, 6)$ is not good as we cannot reach $1$ from $5$.

翻译中…

However, sequence $(0, 1, 5, 2)$ is good.

翻译中…

image

翻译中…

You are given a sequence $(a_1, a_2, \dots, a_n)$ of distinct non-negative integers. You would like to remove some of the elements (possibly none) to make the remaining sequence good. What is the minimum possible number of removals required to achieve this goal?

翻译中…

It can be shown that for any sequence, we can remove some number of elements, leaving at least $2$, so that the remaining sequence is good.

翻译中…

Input

翻译中…

The first line contains a single integer $n$ ($2 \le n \le 200,000$) — length of the sequence.

翻译中…

The second line contains $n$ distinct non-negative integers $a_1, a_2, \ldots, a_n$ ($0 \le a_i \le 10^9$) — the elements of the sequence.

翻译中…

Output

翻译中…

You should output exactly one integer — the minimum possible number of elements to remove in order to make the remaining sequence good.

翻译中…

Note

翻译中…

Note that numbers which you remove don't impact the procedure of telling whether the resulting sequence is good.

翻译中…

It is possible that for some numbers $b_i$ and $b_j$, you will try to add the edge between them twice. Nevertheless, you will add this edge only once.

翻译中…

样例

Input #1
5
0 1 5 2 6
Output #1
1
InputCopy OutputCopy
Input #2
7
6 9 8 7 3 5 2
Output #2
2
InputCopy OutputCopy
题目信息
题号
1447E
时间限制
2 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。