问题 5461 --植圣诞树

5461: 植圣诞树

时间限制: 2 Sec  内存限制: 256 MB
提交: 6  解决: 4
[提交][状态][命题人:]

题目描述

还有一个月就是圣诞节了,小明决定种一棵圣诞树。

有 n 个节点,第 i 个节点的权值为 a[i] 。对于每个节点 i ,其会与某个节点 j 连边,节点 j 需满足 1≤j≤n, i≠j,且 a[i]⊕a[j] 的值最小(⊕表示异或操作)。
如果两个节点间有重复连边,则也视为只有一条边。

小明按照上述方法连边后,发现得到的不一定是一棵图论意义上的树。因此他决定删去一些节点后重新连边,使得最终得到一棵树。

例如下图,点权序列 {0,1,5,2,6} 连边后无法得到一棵树,但删除权值为 6 的节点后,点权序列 {0,1,5,2} 连边后可以得到一棵树。


求最少需要删除多少节点。

输入

第一行包含一个整数 n (2≤n≤200000) ,表示节点数。
第二行包含 n 个整数 a[1],a[2],...,a[n] (0≤a[i]≤10^9) ,表示每个节点的权值。

输出

输出一个整数,表示最少删除的节点数。

样例输入
Copy
样例1:
5
0 1 5 2 6

样例2:
7
6 9 8 7 3 5 2
样例输出
Copy
样例1:
1

样例2:
2

提示

来源

[提交][状态]