首页 > 试题广场 >

建通道

[编程题]建通道
  • 热度指数:3 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在无垠的宇宙中,有 n 个星球,第 i 个星球有权值 v_i
由于星球之间距离极远,因此想在有限的时间内在星际间旅行,就必须要在星球间建立传送通道。
任意两个星球之间均可以建立传送通道,不过花费并不一样。第 i 个星球与第 j 个星球的之间建立传送通道的花费是 ,其中  为二进制异或,而  为 x 二进制最低位 1 对应的值,例如 。特殊地,
牛牛想在这 n 个星球间穿梭,于是――你需要告诉 牛牛,要使这 n 个星球相互可达,需要的花费最少是多少。

输入描述:
第一行,一个正整数 n 。
第二行,n 个非负整数  。
保证


输出描述:
输出一行,一个整数表示答案。
示例1

输入

2
1 2

输出

1

说明

\text{}1、2 号点之间建立通道,v_1 \oplus v_2=3, \text{lowbit}(3)=1