atcoder#ARC067B. [ABC052D] Walk and Teleport
[ABC052D] Walk and Teleport
题目描述
東西方向にのびる直線上に、 個の町があります。 町には、西から順に から までの番号がついています。 直線上には座標が設定されていて、東に行くほど座標が大きくなります。 町 の座標は です。
あなたは今、町 にいて、これからほかの全ての町を訪れたいです。 移動する手段は次の 種類あります。
- 直線上を歩いて移動する。 東西どちらに歩いても、 移動する度に疲労度が 上がります。
- 好きな場所へテレポートする。 テレポートをすると、移動した距離によらず疲労度が 上がります。
この 種類の移動を繰り返して全ての町を最適に回った時、疲労度の上昇値の合計の最小値がいくつになるか求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
全ての町を最適に回った時、疲労度の上昇値の合計の最小値がいくつになるかを出力せよ。
题目大意
在东西方向延伸的直线上,有N个城市。城市坐标按从西到东递增。
你现在在某个城市里,想去其他所有的城市。移动的方法有以下两种。
一,在直线上按东西方向平移,每移动一个单位距离疲劳值加A
二,直接瞬移到某个坐标,并且疲劳值加B
请使用以上两种方式直到去完其他所有的城市,并求出最小的疲劳值。
输入输出格式
输入格式:
第一行三个数,即N,A,B,
第二行N个数,即X[1],X[2]...,X[N]。
输出格式:
输出最小的疲劳值。
说明
2<=N<=1e5
1<=Xi,A,B<=1e9且X(i)<X(i+1)
4 2 5
1 2 5 7
11
7 1 100
40 43 45 105 108 115 124
84
7 1 2
24 35 40 68 72 99 103
12
提示
制約
- 入力は全て整数である
- 全ての について、 が成り立つ
Sample Explanation 1
町 から町 まで の距離歩いて移動したあと、町 にテレポートし、そこから町 まで の距離歩いて移動すると、 疲労度の上昇値の合計が になり、これが最小です。
Sample Explanation 2
町 から町 まで歩き続けると、疲労度の上昇値の合計が になり、これが最小です。
Sample Explanation 3
どのような順番でもよいので、 回のテレポートで全ての町を訪れると、疲労度の上昇値の合計が になり、これが最小です。