100 atcoder#ABC074B. [ABC074B] Collecting Balls (Easy Version)

[ABC074B] Collecting Balls (Easy Version)

配点: 200200

問題文

xyxy 平面上に NN 個のボールがあります。このうち ii 番目のボールの位置は (xi,i)(x_i, i) です。 したがって、NN 本の直線 y=1y = 1, y=2y = 2, ......, y=Ny = N の上にそれぞれ 11 個ずつボールがあることになります。

すぬけ君は、これらのボールを回収するために、タイプ A, B のロボットを NN 台ずつ用意しました。 さらに、タイプ A のロボットのうち ii 台目のものを位置 (0,i)(0, i) に、タイプ B のロボットのうち ii 台目のものを位置 (K,i)(K, i) に設置しました。 したがって、NN 本の直線 y=1y = 1, y=2y = 2, ......, y=Ny = N の上にそれぞれ 11 台のタイプ A のロボットと、11 台のタイプ B のロボットが設置されたことになります。

それぞれのタイプのロボットは起動されると以下のように動作します。

  • タイプ A のロボットは、位置 (0,a)(0, a) で起動されると、直線 y=ay = a 上にあるボールの位置まで移動し、ボールを回収してもとの位置 (0,a)(0, a) に戻って停止する。そのようなボールが存在しない場合は何もせずに停止する。
  • タイプ B のロボットは、位置 (K,b)(K, b) で起動されると、直線 y=by = b 上にあるボールの位置まで移動し、ボールを回収してもとの位置 (K,b)(K, b) に戻って停止する。そのようなボールが存在しない場合は何もせずに停止する。

これら 2N2N 台のロボットのうちいくつかを起動してボールをすべて回収するとき、ロボットの移動距離の総和として考えられる値のうち最小のものを求めてください。

制約

  • 1N1001 \leq N \leq 100
  • 1K1001 \leq K \leq 100
  • 0<xi<K0 < x_i < K
  • 入力値はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN

KK

x1x_1 x2x_2 ...... xNx_N

出力

ロボットの移動距離の総和として考えられる値のうち最小のものを出力せよ。

1
10
2
4

ボールが 11 個だけあり、タイプ A および B のロボットが 11 つずつあります。

タイプ A のロボットを用いてボールを回収すると、ボールの位置までの移動距離は 22 であり、もとの位置に戻るための移動距離も 22 であるので、合計の移動距離は 44 となります。

同様にタイプ B のロボットを用いてボールを回収したときの移動距離の合計を計算すると 1616 となります。

よって、タイプ A のロボットを用いて回収すると合計の移動距離が最小となり、そのときの移動距離である 44 を出力します。

2
9
3 6
12

11 つめのボールはタイプ A のロボットで、22 つめのボールはタイプ B のロボットで回収すると移動距離が最小となります。

5
20
11 12 9 17 12
74