#A0022. 代价

代价

题目描述

因为“黑发不知勤学早”,于是小明成为了一名伟大的流水线工人,天天起早摸黑打螺丝。 这一天,小明所在的流水线生成了 nn 件产品,其中第 ii 号产品规格用一个正整数aia_i表示。 所谓流水线,就是需要标准化。于是,小明想把这 n 件产品规格修整得全部相同。 小明手边有两种工具来进对产品进行修整,但是使用不同工具需要花费不同的代价,小明可以进行以下操作任意次: · 使用一次第一种工具花费 A 的代价将第 i 件产品的规格 aia_i 修改成 aia_i + 1(其中i ∈ [1, n])。 · 使用一次第二种工具花费 B 的代价将第 i 件产品的规格 aia_i 修改成 aia_i − 1(其中i ∈ [1, n])。 现在小明想要花费最少的代价将所有产品的规格都变得相同,于是他找到了自幼勤学苦练的你来帮忙。 你只需要计算出把所有产品调整为相同规格的最小代价即可。

输入描述

第一行三个正整数 n,A,B,分别表示产品数量,使用一次第一种工具的代价 A 和使用 一次第二种工具的代价 B。 第二行 n 个正整数 a1, a2, . . . , an 表示每件产品的产品规格。

输出描述

一行一个整数表示最小的总代价。

样例1 输入

3 1 1
1 2 5

样例1 输出

4

样例1 解释

两种操作的代价相等,所以把所有产品规格修改成 2 花费的代价最小,计算可得最小代价为 4(1 变为 2,5 变为 4,4 再变为 3,3 再变为 2,已经规格相同,共 4 次)。

样例2 输入

3 1 100 1 2 5

样例2 输出

7

样例2 解释

因为二操作代价 B 太大,所以把所有产品规格修改成 5 花费代价最小,计算可得最小代价为 7(用一操作,1 变为 5 需要 4 次,2 变为 5 需要 3 次,共 7 次)。

样例3 输入

3 2 5 9999999999 9999999999 9999999999

样例3 输出

0

数据范围

对于 30%30\% 的数据,1n101 \leq n \leq 10, 1ai1001 \leq a_i \leq 100, 1A,B101\leq A,B \leq 10 对于 60%60\% 的数据,1n1051 \leq n \leq 10^5,1ai1051 \leq a_i \leq 10^5, 1A,B1001\leq A,B \leq 100 其中有 30%30\% 的数据,A=BA = B; 对于 100%100\% 的数据,1n1051 \leq n \leq 10^5,0ai1090 \leq a_i \leq 10^9,1A,B10001\leq A,B\leq 1000