問題
$0, 1, \ldots, N$のマスが左右に一列に存在する。最初与えられた$X$にいて隣り合うマスには自由に移動ができる。移動している中で与えられたマス$A_i$を通る際にコストがかかるという問題設定。マス$0$またはマス$N$のどちらも目指すことができる場合、最小となるコストを求める問題。
方針
- マス$0とN$を目指すときのそれぞれのコストを求める
- 求めたコストを比較し、最小となるコストを出力する
工夫
$A_i$の中でXより小さい場合1となるリストと、Xより大きい場合1となるリストの2つを求め、それぞれsum()
を取ることで、コストを算出する。
N, M, X = map(int, input().split())
A = list(map(int, input().split()))
to_zero = sum([1 for a in A if a < X]) # マス0に向かうときのコスト
to_n = sum([1 for a in A if a > X]) # マスNに向かうときのコスト
if to_zero >= to_n:
print(to_n)
else:
print(to_zero)