310868: CF1902C. Insert and Equalize

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

C. Insert and Equalizetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

You are given an integer array $a_1, a_2, \dots, a_n$, all its elements are distinct.

First, you are asked to insert one more integer $a_{n+1}$ into this array. $a_{n+1}$ should not be equal to any of $a_1, a_2, \dots, a_n$.

Then, you will have to make all elements of the array equal. At the start, you choose a positive integer $x$ ($x > 0$). In one operation, you add $x$ to exactly one element of the array. Note that $x$ is the same for all operations.

What's the smallest number of operations it can take you to make all elements equal, after you choose $a_{n+1}$ and $x$?

Input

The first line contains a single integer $t$ ($1 \le t \le 10^4$) — the number of testcases.

The first line of each testcase contains a single integer $n$ ($1 \le n \le 2 \cdot 10^5$).

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($-10^9 \le a_i \le 10^9$). All $a_i$ are distinct.

The sum of $n$ over all testcases doesn't exceed $2 \cdot 10^5$.

Output

For each testcase, print a single integer — the smallest number of operations it can take you to make all elements equal, after you choose integers $a_{n+1}$ and $x$.

ExampleInput
3
3
1 2 3
5
1 -19 17 -3 -15
1
10
Output
6
27
1
Note

In the first testcase, you can choose $a_{n+1} = 4$, the array becomes $[1, 2, 3, 4]$. Then choose $x = 1$ and apply the operation $3$ times to the first element, $2$ times to the second element, $1$ time to the third element and $0$ times to the fourth element.

In the second testcase, you can choose $a_{n+1} = 13, x = 4$.

In the third testcase, you can choose $a_{n+1} = 9, x = 1$. Then apply the operation once to $a_{n+1}$.

Output

题目大意:
给定一个所有元素都不同的整数数组a1, a2, …, an。首先,在这个数组中插入一个额外的整数an+1,an+1不能等于a1, a2, …, an中的任何一个。然后,你将需要使数组的所有元素相等。开始时,你选择一个正整数x(x > 0)。在一个操作中,你给数组中的恰好一个元素加上x(注意x对所有操作都是相同的)。在选择了an+1和x之后,问使所有元素相等所需的最小操作次数是多少?

输入数据格式:
第一行包含一个整数t(1≤t≤10^4)——测试用例的数量。
每个测试用例的第一行包含一个整数n(1≤n≤2×10^5)。
第二行包含n个整数a1, a2, …, an(-10^9≤ai≤10^9)。所有ai都是不同的。
所有测试用例的n之和不超过2×10^5。

输出数据格式:
对于每个测试用例,打印一个整数——在选择了整数an+1和x之后,使所有元素相等所需的最小操作次数。

示例:
输入
```
3
3
1 2 3
5
1 -19 17 -3 -15
1
10
```
输出
```
6
27
1
```

注意:
在第一个测试用例中,你可以选择an+1=4,数组变为[1, 2, 3, 4]。然后选择x=1,并对第一个元素进行3次操作,对第二个元素进行2次操作,对第三个元素进行1次操作,对第四个元素进行0次操作。
在第二个测试用例中,你可以选择an+1=13, x=4。
在第三个测试用例中,你可以选择an+1=9, x=1。然后对an+1进行一次操作。题目大意: 给定一个所有元素都不同的整数数组a1, a2, …, an。首先,在这个数组中插入一个额外的整数an+1,an+1不能等于a1, a2, …, an中的任何一个。然后,你将需要使数组的所有元素相等。开始时,你选择一个正整数x(x > 0)。在一个操作中,你给数组中的恰好一个元素加上x(注意x对所有操作都是相同的)。在选择了an+1和x之后,问使所有元素相等所需的最小操作次数是多少? 输入数据格式: 第一行包含一个整数t(1≤t≤10^4)——测试用例的数量。 每个测试用例的第一行包含一个整数n(1≤n≤2×10^5)。 第二行包含n个整数a1, a2, …, an(-10^9≤ai≤10^9)。所有ai都是不同的。 所有测试用例的n之和不超过2×10^5。 输出数据格式: 对于每个测试用例,打印一个整数——在选择了整数an+1和x之后,使所有元素相等所需的最小操作次数。 示例: 输入 ``` 3 3 1 2 3 5 1 -19 17 -3 -15 1 10 ``` 输出 ``` 6 27 1 ``` 注意: 在第一个测试用例中,你可以选择an+1=4,数组变为[1, 2, 3, 4]。然后选择x=1,并对第一个元素进行3次操作,对第二个元素进行2次操作,对第三个元素进行1次操作,对第四个元素进行0次操作。 在第二个测试用例中,你可以选择an+1=13, x=4。 在第三个测试用例中,你可以选择an+1=9, x=1。然后对an+1进行一次操作。

加入题单

上一题 下一题 算法标签: