luogu#B4103. [CSP-X2023 山东] 代价

[CSP-X2023 山东] 代价

题目描述

因为“黑发不知勤学早”,于是小明成为了一名伟大的流水线工人,天天起早摸黑打螺丝。

这一天,小明所在的流水线生成了 nn 件产品,其中第 ii 号产品规格用一个正整数 aia_i 表示。

所谓流水线,就是需要标准化。于是,小明想把这 nn 件产品规格修整得全部相同。

小明手边有两种工具来进对产品进行修整,但是使用不同工具需要花费不同的代价,小明可以进行以下操作任意次:

  • 使用一次第一种工具花费 AA 的代价将第 ii 件产品的规格 aia_i 修改成 ai+1a_i+1(其中 i[1,n]i\in [1,n])。
  • 使用一次第二种工具花费 BB 的代价将第 ii 件产品的规格 aia_i 修改成 ai1a_i-1(其中 i[1,n]i\in [1,n])。

现在小明想要花费最少的代价将所有产品的规格都变得相同,于是他找到了自幼勤学苦练的你来帮忙。

你只需要计算出把所有产品调整为相同规格的最小代价即可。

输入格式

第一行三个正整数 n,A,Bn,A,B,分别表示产品数量,使用一次第一种工具的代价 AA 和使用一次第二种工具的代价 BB

第二行 nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n 表示每件产品的产品规格。

输出格式

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

3 1 1 
1 2 5
4
3 1 100 
1 2 5
7
3 2 5 
9999999999 9999999999 9999999999
0

提示

样例解释

  • 样例 11 解释:两种操作的代价相等,所以把所有产品规格修改成 22 花费的代价最小,计算可得最小代价为 4411 变为2255 变为 4444 再变为 3333 再变为 22,已经规格相同,共 44 次)。
  • 样例 22 解释:因为二操作代价 BB 太大,所以把所有产品规格修改成 55 花费代价最小,计算可得最小代价为 77(用一操作,11 变为 55 需要 44 次,22 变为 55 需要 33 次,共 77 次)。

数据范围

对于 30%30\% 的数据,1n101\le n\le 101ai1001\le a_i \le100 1A,B101\le A,B \le10

对于 60%60\% 的数据,1n1051\le n\le 10^51ai1051\le a_i \le10^5 1A,B1001\le A,B \le100

其中有 30%30\% 的数据,A=BA=B

对于 100%100\% 的数据,1n1051\le n\le 10^51ai1091\le a_i \le10^9 1A,B10001\le A,B \le1000