proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "" .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord var a = scan() var b = scan() var s = scan() var ans = 0 while s != 0: if s == 1 or abs(s-a) <= abs(s-b) : ans += abs(s-a) + s break if b > a : # Aの階へ ans += abs(s-b) + abs(s-a) s = a b = a else: # 中間:abs(s-a) == abs(s-b)へ ans += abs(s-b) s += 1 b += 1 echo ans