Loading

USACO 2025 JAN Siliver B 中文题面

USACO 2025年1月比赛,银组

问题2:约翰最喜欢的运算

在一个寒冷而无聊的日子里,约翰发明了一个涉及对整数数组进行运算的休闲活动。

约翰有一个长度为 \(N\)\(1 \leq N \leq 2 \cdot 10^5\))的数组 \(a\),包含非负整数,以及一个整数 \(M\)\(1 \leq M \leq 10^9\))。然后,约翰会询问贝西一个整数 \(x\)。在一次运算中,约翰可以选择一个索引 \(i\),并对 \(a_i\) 加上或减去 1。约翰的无聊值是他必须执行的最小操作次数,使得对于所有 \(1 \leq i \leq N\)\(a_i-x\) 能被 \(M\) 整除。

在所有可能的 \(x\) 中,输出约翰可能的最小无聊值。

输入格式(输入来自终端/标准输入):

第一行包含一个整数 \(T\)\(1 \leq T \leq 10\)),表示要解决的独立测试用例的数量。

每个测试用例的第一行包含 \(N\)\(M\)

每个测试用例的第二行包含 \(a_1, a_2, \ldots, a_N\)\(0 \leq a_i \leq 10^9\))。

保证所有测试用例的 \(N\) 之和不超过 \(5 \cdot 10^5\)

输出格式(输出到终端/标准输出):

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

样例输入:

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

样例输出:

10
21

在第一个测试用例中,一个最优的 \(x\) 选择是 3。约翰可以执行 10 次操作,使得 \(a = [12, 12, 21, 3, 12]\)

评分:

  • 输入2:\(N \le 1000\)\(M \le 1000\)
  • 输入3:\(N\le 1000\)
  • 输入4-5:\(M\le 10^5\)
  • 输入6-16:没有额外限制
posted @ 2025-01-25 11:48  Yorg  阅读(11)  评论(0)    收藏  举报