 Timer is Running

Equalize an array in minimum operations
##### Submissions: 311   Accuracy: 13.57%   Difficulty: Easy   Marks: 2

You are given with an array of N integers A, A, … , A[N-1] and an integer k. Your task is to make all the elements of the given array equal in a minimum number of ‘moves’.  All the elements of the array are non-negative.In each ‘move’ you may add or subtract k from any element of the array.
Print -1 if it is not possible to make all the elements equal in any number of moves.

Input:
The first line contains a positive integer T denoting the number of test cases. Each of the test case consists of 2 lines. The first line of each test case contains two integers N and k. The next line contains space separated sequence of N integers.​

Output:
Output the minimum number of ‘operations’ for each case on a new line. As the results can be large, print your answer modulo 109 + 7.​

Constraints:
1 <= T <= 103
1 <= N <= 106
1 <= k <= 103
1 <= A[] <= 103

Example:
Input:
1
4 2
7 5 21 17

Output:
13

Explanation:
We can add k = 2 to A once and subtract k = 2 from A seven times and from A five times.The resulting array would be- 7 7 7 7
Number of moves = 1 + 7 + 5 = 13.

#### ** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Sajal Agrawal
Author: sajalagrawal

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.