[传智杯 #3 初赛] 游戏(征集数据)

Luogu
IDLGP8826
Time1000ms
Memory128MB
DifficultyP3
位运算传智杯
清蒸鱼是一个从未被击败的炽蓝仙野游戏者。有一天他遇到了这么一个游戏: 给定一个长度为 $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$。 现在你想知道,最少付出多少的代价,能让这个数组被消到只剩一个数。 ## Input 第一行一个整数 $n$,表示数组大小。 第二行两个整数 $C_1, C_2$,意义如题所示。 第三行共 $n$ 个整数,描述了数组 $a$。 ## Output 一行一个整数,表示最小代价。 [samples] ## Note 对于 $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$ 中的元素互不相同。
Samples
Input #1
4
5 10
1 2 3 4
Output #1
20
API Response (JSON)
{
  "problem": {
    "name": "[传智杯 #3 初赛] 游戏(征集数据)",
    "description": {
      "content": "清蒸鱼是一个从未被击败的炽蓝仙野游戏者。有一天他遇到了这么一个游戏: 给定一个长度为 $n$ 的数组 $a$。同时定义 $count(x)$ 为 $x$ 在二进制下的 $1$ 的个数。 现在清蒸鱼每次可以进行如下两种操作: - 选择两个数 $a_i, a_j$,并且必须满足 $count(a_i \\operatorname{xor} a_j)=1$,将它们中的任意一个从数组中消去,代价为 $",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8826"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "清蒸鱼是一个从未被击败的炽蓝仙野游戏者。有一天他遇到了这么一个游戏:\n\n给定一个长度为 $n$ 的数组 $a$。同时定义 $count(x)$ 为 $x$ 在二进制下的 $1$ 的个数。\n\n现在清蒸鱼每次可以进行如下两种操作:\n\n- 选择两个数 $a_i, a_j$,并且必须满足 $count(a_i \\operatorname{xor} a_j)=1$,将它们中的任意一个从数组中消去,代价为 $...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments