#1007. 一条线上的史莱姆
一条线上的史莱姆
题目描述
在一条直线上有 个史莱姆,第 个史莱姆初始位于坐标 处。
你可以执行以下操作任意次(包括 次):
- 选择一个整数 ,然后对每个 ()执行以下更新:
- 如果 ,则令 。
- 如果 ,则令 。
- 如果 ,则不做任何操作。
请计算使所有史莱姆聚集到同一个位置所需的最少操作次数。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
对于每个测试用例:
- 第一行包含一个整数 ()—— 史莱姆的数量。
- 第二行包含 个整数 ()—— 史莱姆的初始位置。
输出格式
对于每个测试用例,输出一行一个整数,表示使所有史莱姆占据同一位置所需的最少操作次数。
样例输入 1
10
5
1 2 3 4 5
5
3 3 3 3 3
6
5 6 7 1 2 3
2
2 5
4
1 3 8 7
4
6 2 1 8
3
1 3 9
5
1 10 1 10 10
8
10 8 5 9 1 6 9 10
2
1 1000
样例输出 1
2
0
3
2
4
4
4
5
5
500
说明
样例解释
- 在第 个测试用例中,我们可以执行 次操作,每次都选择 。 第一次操作后,史莱姆的位置数组变为 ; 第二次操作后,位置数组更新为 。大家都到达了同一个位置。
- 在第 个测试用例中,所有史莱姆初始时就已经都在位置 上了,因此需要 次操作。
数据范围
- 对于所有测试点,保证 。
- 对于每个测试用例,保证 ,。
- 保证同一测试点内所有测试用例的 之和不超过 。
- 保证所有的输入数值均为整数。