#P11671. [USACO25JAN] Farmer John's Favorite Operation S

[USACO25JAN] Farmer John's Favorite Operation S

题目描述

又是 Farmer John 的农场上寒冷而无聊的一天。为了打发时间,Farmer John 发明了一种关于在整数数组上进行操作的有趣的休闲活动。

Farmer John 有一个包含 NN1N21051 \leq N \leq 2 \cdot 10^5)个非负整数的数组 aa 和一个整数 MM1M1091 \leq M \leq 10^9)。然后,FJ 会请 Bessie 给出一个整数 xx。在一次操作中,FJ 可以选择一个索引 ii,并对 aia_i11 或减 11。FJ 的无聊值是他必须执行的最小操作次数,以使得对于所有的 1iN1 \leq i \leq Naixa_i-x 均可被 MM 整除。

对于所有可能的 xx,输出 FJ 的最小无聊值。

输入格式

输入的第一行包含 TT1T101 \leq T \leq 10),为需要求解的独立的测试用例数量。

每一个测试用例的第一行包含 NNMM

第二行包含 a1,a2,...,aNa_1, a_2, ..., a_N0ai1090 \leq a_i \leq 10^9)。

输入保证所有测试用例的 NN 之和不超过 51055 \cdot 10^5

输出格式

对于每一个测试用例输出一行,包含对于所有可能的 xx,FJ 的最小无聊值。

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

提示

样例解释

在第一个测试用例中,xx 的一个最优选择是 33。FJ 可以执行 1010 次操作使得 a=[12,12,21,3,12]a = [12, 12, 21, 3, 12]

子任务

  • 测试点 2:N1000N \le 1000 以及 M1000M \le 1000
  • 测试点 3:N1000N\le 1000
  • 测试点 4-5:M105M\le 10^5
  • 测试点 6-16:没有额外限制。