Home => ProblemSet => 200.1-05:温控器
Problem1759--200.1-05:温控器

1759: 200.1-05:温控器

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 1
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

小明回家后发现,有人把温控器温度调整了。
温控器只能设置为从l到r(含)的温度,温度每次调整不能小于x度。
形式上,在一次操作中,如果|a-b|>=x,则可以将温控器温度从a重新配置为温度b。
给出了l、r、x、a和b。求出从温度a调整到温度b所需的最小操作数,或者说这是不可能的。

Input

输入数据的第一行包含单个整数t(1≤t≤104)-测试中测试用例的数量。
每个测试用例包含:
第一行包含三个整数l、r和x(−109≤l≤r≤109, 1≤ x ≤109)-温度范围和最小温度变化值。
第二行包含两个整数a和b(l≤a、 b≤r) -初始和最终温度。

Output

输出t个数字,每个数字都是对应测试用例的答案。如果无法达到温度b,则输出-1,否则输出最小操作次数。

Sample Input Copy

10
3 5 6
3 3
0 15 5
4 5
0 10 5
3 7
3 5 6
3 4
-10 10 11
-5 6
-3 3 4
1 0
-5 10 8
9 2
1 5 1
2 5
-1 4 3
0 2
-6 3 6
-1 -4

Sample Output Copy

0
2
3
-1
1
-1
3
1
3
-1

HINT

样例说明:
在第一个示例中,恒温器已正确设置。
在第二个示例中,您可以按如下方式获得所需的温度:4→10→5.
在第三个示例中,可以按如下方式获得所需的温度:3→8.→2.→7.
在第四次测试中,不可能进行任何操作。


l≤b≤r

Source/Category