Time Machine
题目描述
李子明很后悔自己祸从口出,他的危机公关不仅没有起到正面效果,还让他的班主任、他的父母、他的所有同学、他的所有同学的父母、他的所有同学的父母的同事、他的所有同学的父母的同事的父母……都知道了他搞贿选的打算。自此以后李子明在断罪小学的仕途和人缘都一落千丈,但他的好基友赵铁柱仍然每天挂念着他。为了让李子明的学业回归正轨,赵铁柱用自己攒了2年3个月零3天的零花钱为他租了一台时光机。然而时光机的使用说明是英文的,他俩借助千度翻译才勉强看懂。
时光机上共有\(N\)个表盘排成一排,每个表盘上都有\(1,2,3 \cdots 9\)这九个档位,沿顺时针方向等距分布,每个表盘上分别有一个指针指示当前所在的档位。时光机可以通过内置的键盘输入指令,每操作一次,其中某一个表盘上的指针就会向左或向右偏移一个档位。九个档位不是循环的,也就是说从9不可以直接偏移到1,反过来也不行。当任意两个相邻表盘上的值之差均为\(-1,0\)或\(1\)时,时光机就会开始运作,然后将李子明送回大队长选举通知刚刚下达的时候。由于李子明害怕“录音门”之后再被人整出个“时光机门”,他希望从时光机初始状态开始,所需操作的次数尽可能小。请你输出最少所需的操作次数。
I/O格式
输入
第一行是一个正整数\(T\),表示测试数据的组数。之后每组数据:
第一行是一个正整数\(N\);
第二行是\(N\)个正整数\(a_1, a_2 \cdots a_N\),依次表示\(N\)个表盘初始时的档位。\(a_i \in \{1,2,3 \cdots 9 \}\)
输出
每组数据输出一行,表示最少所需的操作次数。
样例
输入
3
3
2 3 3
4
1 4 2 3
3
9 2 4
输出
0
2
6
样例说明
第一组数据起初就是满足条件的,所以所需步数为0;
第二组数据,将第二个档位由4下调至2,最少需要步数为2;
第三组数据,将第一个档位下调至6,第二个档位上升至5,最少需要步数为6。
数据规模及约定
20%的数据:\(T \le 50, N = 4\)
另外20%的数据:\(T \le 20, N \le 6\)
另外30%的数据:\(T \le 10, N \le 1000\)
余下30%的数据:\(T \le 10, N \le 5 \times 10^4\)