3772 - 操作数组
描述

给你一个长度为 n 的正整数序列 \{a_i\}。

你每次可以选择两个相邻的元素进行一次操作:其中一个元素增加 1,另一个元素减少 1。

问你最少多少次操作后,数组中的所有元素能够相等。如果永远不可能全部相等,则输出 -1。

输入

第一行一个整数 T\ (T \le 20),表示 T 组数据。

每组数据第一行一个整数 n,第二行 n 个数字表示数组 a。

输出

对于每组数据,输出一个整数表示答案。

样例

输入

3
3
1 3 2
3
2 2 3
5
1 2 3 1 3

输出

1
-1
3
提示

样例解释

  • 第 1 组 1\ 3\ 2:对第 1、2 个元素操作一次(3 减 1、1 加 1),得到 2\ 2\ 2,共 1 次。

  • 第 2 组 2\ 2\ 3:总和 7 不能被 3 整除,平均值不是整数,输出 -1。

  • 第 3 组 1\ 2\ 3\ 1\ 3:总和 10,平均 2,把多出来的 1 依次往左挪,3 次操作就能得到 2\ 2\ 2\ 2\ 2。

数据范围

保证所有数据中 T \le 20,\ 1 \le a_i \le 100000。

  • 10\% 的测试数据,1 \le n \le 5;

  • 20\% 的测试数据,1 \le n \le 100;

  • 50\% 的测试数据,1 \le n \le 1000;

  • 80\% 的测试数据,1 \le n \le 10000;

  • 100\% 的测试数据,1 \le n \le 100000。


来源
2024CCF入门组模拟赛14(8.8)
标签
题目参数
Time Limit 1 second
Memory Limit 512 MB
提交次数 15
通过次数 7