#P16773. [GKS 2020 #G] Combination Lock

[GKS 2020 #G] Combination Lock

题目描述

一个密码锁有 WW 个拨轮,每个拨轮上按升序标有整数 11NN

在任意时刻,每个拨轮都会显示一个特定的数值。XiX_i 是第 ii 个拨轮上显示的初始数值。

你可以通过一次操作将某个拨轮上显示的值从 XX 改为 X+1X+1X1X-1,并在 11NN 之间循环。例如,如果一个拨轮当前显示 11,则一次操作可以将其变为 22NN

给定所有拨轮的初始值,要使所有拨轮显示相同的数值,最少需要多少次操作?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例的第一行包含两个整数 WWNN

第二行包含 WW 个整数,其中第 ii 个整数是 XiX_i

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是使所有拨轮显示相同数值所需的最少操作次数。

2
3 5
2 3 4
4 10
2 9 3 8
Case #1: 2
Case #2: 8

提示

在样例 #1 中,最佳方案是让所有拨轮都显示数值 33,总操作次数为 22:第一个拨轮移动一次(从 2233),第二个拨轮不动(已经显示 33),第三个拨轮移动一次(从 4433)。

作为参考,让所有拨轮都显示 11 需要 55 次操作,显示 22 需要 33 次,显示 44 需要 33 次,显示 55 需要 55 次。

在样例 #2 中,最佳方案是让所有拨轮都显示 1122991010,总操作次数均为 88

限制条件

1T1001 \le T \le 100

1XiN1 \le X_i \le N

测试集 1

1W10001 \le W \le 1000

2N10002 \le N \le 1000

测试集 2

1W10001 \le W \le 1000

2N1092 \le N \le 10^9

测试集 3

1W1051 \le W \le 10^5

2N1092 \le N \le 10^9

翻译由 DeepSeek V4 Pro 完成