P8826 [传智杯 #3 初赛] 游戏(征集数据)
题目描述
清蒸鱼是一个从未被击败的炽蓝仙野游戏者。有一天他遇到了这么一个游戏:
给定一个长度为 $n$ 的数组 $a$。同时定义 $count(x)$ 为 $x$ 在二进制下的 $1$ 的个数。
现在清蒸鱼每次可以进行如下两种操作:
- 选择两个数 $a_i, a_j$,并且必须满足 $count(a_i \operatorname{xor} a_j)=1$,将它们中的任意一个从数组中消去,代价为 $C_1$。
- 选择两个数 $a_i, a_j$,并且必须满足 $count(a_i \operatorname{xor} a_j) > 1$,将它们中的任意一个从数组中消去,代价为 $C_2$。
现在你想知道,最少付出多少的代价,能让这个数组被消到只剩一个数。
输入格式
无
输出格式
无
说明/提示
对于 $20\%$ 的数据,满足 $n = 10$;
对于另外 $20\%$ 的数据,满足 $a$ 中的元素为一个 $[1, n]$ 的排列;
对于 $100\%$ 的数据,满足 $1 \leq n \leq {10}^4$,$1\le C_1, C_2, a \le {10}^9$,$a$ 中的元素互不相同。