AT_arc067_b [ABC052D] Walk and Teleport
Description
[problemUrl]: https://atcoder.jp/contests/abc052/tasks/arc067_b
東西方向にのびる直線上に、$ N $ 個の町があります。 町には、西から順に $ 1 $ から $ N $ までの番号がついています。 直線上には座標が設定されていて、東に行くほど座標が大きくなります。 町 $ i $ の座標は $ X_i $ です。
あなたは今、町 $ 1 $ にいて、これからほかの全ての町を訪れたいです。 移動する手段は次の $ 2 $ 種類あります。
- 直線上を歩いて移動する。 東西どちらに歩いても、$ 1 $ 移動する度に疲労度が $ A $ 上がります。
- 好きな場所へテレポートする。 テレポートをすると、移動した距離によらず疲労度が $ B $ 上がります。
この $ 2 $ 種類の移動を繰り返して全ての町を最適に回った時、疲労度の上昇値の合計の最小値がいくつになるか求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A $ $ B $ $ X_1 $ $ X_2 $ $ ... $ $ X_N $
Output Format
全ての町を最適に回った時、疲労度の上昇値の合計の最小値がいくつになるかを出力せよ。
Explanation/Hint
### 制約
- 入力は全て整数である
- $ 2≦N≦10^5 $
- $ 1≦X_i≦10^9 $
- 全ての $ i(1≦i≦N-1) $ について、$ X_i\