编程题
### 问题描述 小然经营着一家神奇的糖果店,他有一种特殊的糖果,糖果内部有一颗魔法珠子,可以将糖果分裂成两部分,每部分都包含一颗新的魔法珠。小然可以选择一颗糖果,然后决定将其分裂成两颗糖果,其中每颗新糖果的尺寸都必须大于或等于 $1$,并且这两颗新糖果的尺寸之和等于原糖果的尺寸。值得注意的是,每次分裂操作都会使得糖果数量增加 $1$。 小然喜欢将他的糖果摆放成美丽的图案,他发现,如果能形成一个美丽的图案。这个图案被称为“回文”,也就是说,从左到右读和从右到左读是一样的。 小然想知道,他至少要进行多少次糖果分裂操作,才能使得他的糖果摆放成一个回文图案。他保证一定可以把糖果摆放成一个回文图案。 你能帮助小然解决这个问题吗? ### 输入格式 第一行是一个整数 $T$,表示有 $T$ 组测试数据。 每组测试数据包括两行: - 第一行是一个整数 $N$,表示小然的糖果数量。 - 第二行是 $N$ 个整数 $A_1, A_2, ..., A_N$,表示每颗糖果的尺寸。 ### 输出格式 对于每组测试数据,输出一个整数,表示最小的糖果分裂操作次数。 ### 样例输入 ```text 3 4 3 7 6 4 5 1 4 5 4 1 5 1 2 3 4 5 ``` ### 样例输出 ```text 2 0 4 ``` ### 说明 对于第一组测试数据,小然可以进行以下操作: - 选择第二颗糖果,将其分裂为尺寸为 $1$ 和 $6$ 的两颗糖果。糖果数组变为 $[3, 1, 6, 6, 4]$。 - 选择最后一颗糖果,将其分裂为尺寸为 $1$ 和 $3$ 的两颗糖果。糖果数组变为 $[3, 1, 6, 6, 1, 3]$。 对于第二组测试数据,小然的糖果已经是一个回文图案,所以不需要进行任何操作。 对于第三组测试数据,小然至少需要进行 $4$ 次操作才能将糖果摆放成一个回文图案。 ### 评测数据范围 $1 \leq T \leq 10^5$。 $1 \leq N \leq 10^5$。 $1 \leq A_i \leq 10^5$。 所有测试数据的 $N$ 之和不超过 $2 \times 10^5$。
查看答案
赣ICP备20007335号-2