Processing math: 100%

USACO 2025 January Contest, Silver

Problem 2. Farmer John's Favorite Operation


Contest has ended.

Log in to allow submissions in analysis mode


It is another cold and boring day on Farmer John's farm. To pass the time, Farmer John has invented a fun leisure activity involving performing operations on an integer array.

Farmer John has an array a of N (1N2105) non-negative integers and an integer M (1M109). Then, FJ will ask Bessie for an integer x. In one operation, FJ can pick an index i and subtract or add 1 to ai. FJ's boredom value is the minimum number of operations he must perform so that aix is divisible by M for all 1iN.

Among all possible x, output FJ's minimum possible boredom value.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line contains T (1T10), the number of independent test cases to solve.

The first line of each test case contains N and M.

The second line of each test case contains a1,a2,...,aN (0ai109).

It is guaranteed that the sum of N over all test cases does not exceed 5105.

OUTPUT FORMAT (print output to the terminal / stdout):

For each test case, output an integer on a new line containing FJ's minimum possible boredom value among all possible values of x.

SAMPLE INPUT:

2
5 9
15 12 18 3 8
3 69
1 988244353 998244853

SAMPLE OUTPUT:

10
21

In the first test case, one optimal choice of x is 3. FJ can perform 10 operations to make a=[12,12,21,3,12].

SCORING:

  • Input 2: N1000 and M1000.
  • Input 3: N1000.
  • Inputs 4-5: M105.
  • Inputs 6-16: No additional constraints.

Problem credits: Chongtian Ma

Contest has ended. No further submissions allowed.