Responsive image

问题 2789 --上课睡觉

2789: 上课睡觉

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 36
[提交][状态][讨论版][命题人:]

题目描述

有 N 堆石子,每堆的石子数量分别为 a1,a2,…,aN。

你可以对石子堆进行合并操作,将两个相邻的石子堆合并为一个石子堆,例如,如果 a=[1,2,3,4,5],合并第 2,3 堆石子,则石子堆集合变为 a=[1,5,4,5]。

我们希望通过尽可能少的操作,使得石子堆集合中的每堆石子的数量都相同。

请你输出所需的最少操作次数。

本题一定有解,因为可以将所有石子堆合并为一堆。

输入描述

第一行包含整数 T,表示共有 T 组测试数据。

每组数据第一行包含整数 N。

第二行包含 N 个整数 a1,a2,…,aN。

输出描述

每组数据输出一行结果。

样例输入

3
6
1 2 3 1 1 1
3
2 2 3
5
0 0 0 0 0

样例输出

3
2
0

提示

1≤T≤10

1≤N≤105

0≤ai≤106

每个输入所有 N 之和不超过 105

来源

[提交][状态]
ACM算法攻关部