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$ 中的元素互不相同。