#arc067b. [arc067_b]Walk and Teleport

[arc067_b]Walk and Teleport

问题描述

一条东西方向的线上有NN个城镇。这些城镇按照从西到东的顺序编号为11NN。线上的每个点都有一个一维坐标,而东边的点具有更大的坐标值。第ii个城镇的坐标为XiX_i

现在你在城镇11,你想要访问所有的其他城镇。你有两种出行方式:

  • 沿着线行走。每次行走距离为11,你的"疲劳程度"增加AA,无论行走的方向如何。

  • 传送到你选择的任意位置。无论传送的距离如何,你的"疲劳程度"增加BB

找出当你以这两种方式访问所有城镇时,"疲劳程度"总增加的最小可能值。

约束条件

  • 所有输入值均为整数。
  • 2N1052≤N≤10^5
  • 1Xi1091≤X_i≤10^9
  • 对于所有i(1iN1)i(1≤i≤N-1)Xi<Xi+1X_i<X_{i+1}
  • 1A1091≤A≤10^9
  • 1B1091≤B≤10^9

输入

输入以以下格式从标准输入中给出:

NN AA BB X1X_1 X2X_2 ...... XNX_N

输出

输出当你访问所有城镇时,"疲劳程度"总增加的最小可能值。


示例输入 1

4 2 5
1 2 5 7

示例输出 1

11

从城镇11出发,走一段距离到达城镇22,然后传送到城镇33,再走一段距离22到达城镇44。在这种情况下,你的"疲劳程度"总增加为2×1+5+2×2=112×1+5+2×2=11,这是最小可能值。


示例输入 2

7 1 100
40 43 45 105 108 115 124

示例输出 2

84

从城镇11出发,一直走到城镇77。在这种情况下,你的"疲劳程度"总增加为8484,这是最小可能值。


示例输入 3

7 1 2
24 35 40 68 72 99 103

示例输出 3

12

通过传送六次以任意顺序访问所有城镇。在这种情况下,你的"疲劳程度"总增加为1212,这是最小可能值。