CF717B R3D3’s Summer Adventure

题目描述

R3D3 在 MDCS 实习了一段时间。挣够了足够的钱后,他决定去一个遥远的地方度假。他喜欢晒太阳,喝无酒精鸡尾酒,还去听当地流行乐队的演唱会。在听 “White Buttons” 乐队演唱他们的热门歌曲 “Dacan the Baker” 时,他遇到了一位机器人,并确信对方就是他此生的挚爱。至少,是他这个夏天的挚爱。不管怎么说,R3D3 太害羞了,不敢主动上前搭讪,于是他决定给她写一封情书。然而,他遇到了一个问题。由于恐怖袭击威胁,银河系空间警察正在监控该区域发送的所有信件。因此,R3D3 决定创造一套属于自己的字母表,他相信他的爱人一定可以破解。 R3D3 的字母表有 $n$ 个字母,他希望用仅由 '0' 和 '1' 组成的序列表示每个字母,且保证任意一个字母的序列都不是另一个字母序列的前缀。由于银河系空间通信服务最近对自创的字母表征收每个比特的费用,R3D3 需要为字母表编码中的每一位付出一定的费用(见样例解释)。但他因爱心潮澎湃,头脑不清,于是请求你帮他设计。 给定 '0' 和 '1' 的编码费用 $c_{0}$ 和 $c_{1}$,请你以最小总代价设计一个满足上述条件的字母表编码。

输入格式

输入包含一行,包含三个整数 $n$($2 \leq n \leq 10^8$)、$c_{0}$ 和 $c_{1}$($0 \leq c_{0},c_{1} \leq 10^8$),分别表示字母表的字母数,'0' 与 '1' 的费用。

输出格式

输出一个整数,表示整个字母表可能的最小总代价。

说明/提示

字母表有 $4$ 个字母,最优编码分别为 "00"、"01"、"10"、"11"。编码中使用了 $4$ 个 '0' 和 $4$ 个 '1',总代价为 $4 \cdot 1 + 4 \cdot 2 = 12$。 由 ChatGPT 5 翻译