atcoder#ABC270B. [ABC270B] Hammer

[ABC270B] Hammer

题目描述

数直線の原点に高橋君がいます。高橋君は座標 X X にあるゴールに移動しようとしています。

座標 Y Y には壁があり、最初、高橋君は壁を超えて移動することができません。
座標 Z Z にあるハンマーを拾った後でなら、壁を破壊して通過できるようになります。

高橋君がゴールに到達することが可能か判定し、可能であれば移動距離の最小値を求めてください。

输入格式

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

X X Y Y Z Z

输出格式

高橋君がゴールに到達することが可能であれば、移動距離の最小値を出力せよ。不可能であれば、かわりに -1 と出力せよ。

题目大意

高桥君在一条数轴的原点,想去坐标为 XX 处。

但坐标为 YY 处有墙,无法通过。

坐标为 ZZ 处有一把锤子,可以用它打碎墙以通过。

问:给出 X,Y,ZX,Y,Z ,则高桥君要达成目的所需的最短移动距离是多少?如果不能到达,输出 1-1

保证:1000X,Y,Z1000-1000 \leq X,Y,Z\leq1000 ,且 XYZ0XYZ\neq0X,Y,ZX,Y,Z 互不相同且均为整数。

10 -10 1
10
20 10 -10
40
100 1 1000
-1

提示

制約

  • 1000  X,Y,Z  1000 -1000\ \leq\ X,Y,Z\ \leq\ 1000
  • X,Y,Z X,Y,Z は相異なり、いずれも 0 0 でない
  • 入力に含まれる値は全て整数である

Sample Explanation 1

高橋君はまっすぐゴールに向かうことができます。

Sample Explanation 2

ゴールは壁の向こう側にあります。まずハンマーを拾い、壁を壊すことでゴールに到達することができます。