100 atcoder#ABC094B. [ABC094B] Toll Gates

[ABC094B] Toll Gates

配点 : 200200

問題文

N+1N + 1 個のマスが左右に一列に並んでいます. これらのマスには,左のマスから順に 0,1,...,N0, 1, ..., N の番号が付けられています.

あなたは,最初マス XX にいます. 隣り合うマスの間は自由に移動することができ,マス 00 またはマス NN にたどり着くとゴールすることができます. ただし,i=1,2,...,Mi = 1, 2, ..., M について,マス AiA_i には料金所があり,そのためマス AiA_i に移動してくる際には 11 のコストがかかります. なお,マス 00,マス XX,マス NN には料金所がないことが保証されます.

ゴールするまでにかかるコストの最小値を求めてください.

制約

  • 1N1001 \leq N \leq 100
  • 1M1001 \leq M \leq 100
  • 1XN11 \leq X \leq N - 1
  • 1A1<A2<...<AMN11 \leq A_1 < A_2 < ... < A_M \leq N - 1
  • AiXA_i \neq X
  • 入力はすべて整数

入力

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

NN MM XX

A1A_1 A2A_2 ...... AMA_M

出力

ゴールするまでにかかるコストの最小値を出力せよ.

5 3 3
1 2 4
1

次のようにするのが最適です.

  • まず,マス 33 から,マス 44 へ移動する.このとき,マス 44 には料金所があるので,コスト 11 がかかる.
  • 次に,マス 44 から,マス 55 へ移動する.このときはコストはかからない.
  • マス 55 に到着したので,ゴールする.

このようにすると,コストは合計で 11 になります.

7 3 2
4 5 6
0

まったくコストがかからないこともあります.

10 7 5
1 2 3 4 6 8 9
3