编程题
### 问题描述 小然在沙滩上发现了 $N$ 块形状各异的石头。他注意到,通过在某些石头上堆砂,他可以改变这些石头的高度。 他想要将这些石头排成一种特殊的形状,即使得石头阵列的整体形状是对称的。我们称这样的石阵列为“对称石阵”。 小然可以选择任意段连续的石头,然后在这段石头上各堆一堆砂,使得这段石头的高度都增加 $1$。他想知道,他需要最少进行多少次这样的操作,才能将石阵列变为“对称石阵”。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例由两行组成: - 第一行包含一个整数 $N$,表示石头的数量。 - 第二行包含 $N$ 个空格分隔的整数 $A_1, A_2, ..., A_N$,表示每块石头的初始高度。 ### 输出格式 对于每个测试用例,输出一行一个整数,表示变为“对称石阵”所需的最少操作次数。 ### 样例输入 ```text 3 6 2 6 4 3 4 1 2 1 10 3 1 10 1 ``` ### 样例输出 ```text 2 9 0 ``` ### 说明 在第一个测试用例中,我们可以进行以下操作: 1. 选择第 3 到第 6 块石头,进行一次操作,得到的石阵列为 $[2,6,5,4,5,2]$。 2. 选择第 4 到第 5 块石头,进行一次操作,得到的石阵列为 $[2,6,5,5,6,2]$。 总共进行了 2 次操作。 ### 评测数据范围 $1 \leq T \leq 10^3$。 $1 \leq N \leq 10^5$。 $1 \leq A_i \leq 10^9$。 所有测试用例中 $N$ 的总和不超过 $3 \times 10^5$。
查看答案
赣ICP备20007335号-2