小红写谱
题号:NC311101
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红定义一首歌的「位移难度」为相邻两次按键的位移量之和。设两次按键分别为 x,y,那么他们的位移量是 \min \big\{\big| x - y\big|, 8 - \big|x - y \big| \big\}。这可以理解为在一个首尾相连、标有 18 的环形键盘上,从按键 x 到按键 y 的最短距离。

\hspace{15pt}现在,小红拿到了一首由 n 次按键组成的歌曲,他想要重排这些按键的次序,使得歌曲的「位移难度」尽可能低。请你找出可能的最小「位移难度」。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^5\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入一个整数 n \left(1 \leqq n \leqq 10^5 \right),表示按键的次数。
\hspace{15pt}第二行输入 n 个整数 a_1, a_2, \dots, a_n \left(1 \leqq a_i \leqq 8 \right),表示每一个按键的位置。

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 10^6

输出描述:

\hspace{15pt}对于每组测试数据,新起一行输出一个整数,表示可能的最小「位移难度」。
示例1

输入

复制
2
5
1 2 3 4 5
3
2 7 8

输出

复制
4
3

说明

\hspace{15pt}对于第一组数据,我们可以枚举所有可能的重排方式证明,不重排时「位移难度」是最小的。

\hspace{15pt}对于第二组数据,重排为 \{7,8,2 \} 时,「位移难度」可以达到最小值 3