#1203. 亏欠了她

亏欠了她

背景

我就坐在床边,一边抽着烟,一边浏览着手机里面的东西。片刻之后,我在语音备忘录里发现了一段自己从来都没有在意过的语音片段。 我眯着眼睛,轻轻的点开了这音频。音频的一开始很安静,渐渐就传来了打呼噜的声音..…..我知道,应该是我在打呼,而有另外一个人录了这么一段音频。 快要尾声的时候,我忽然听到了陈艺的声音:“你个傻瓜,不能喝酒为什么还要替我挡这么多酒…….我才不在意他们怎么看我,我只在意你这头猪.…….猪,我爱你..不管你以后喝多少酒,醉成什么样.....你都一定要记得娶我,知道吗?“

描述

wyy拿到了一个数组,她可以进行任意次以下操作:选择两个元素,使得其中一个加 1,另一个减 1。wyy希望最终数组变成一个排列,请你帮助他确定这能否实现。如果可以实现的话,还需要求出最小操作次数。 长度为 n 的排列是由 1nn 个整数、按任意顺序组成的数组,其中每个整数恰好出现一次。例如,{2,3,1,5,4} 是一个长度为 5 的排列,而 {1,2,2}{1,3,4} 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。

格式

输入

第一行输入一个整数n(1n1e5) 代表数组中的元素数量。第二行输入 n 个整数 a1a_1,a2a_2,…,ana_n(−1e9≤aia_i​≤1e9) 代表数组元素。

输出

如果无法生成排列,直接输出 -1;否则,输出一个整数,代表最小的操作次数。

样例

2
3 4
-1

限制

1s, 1024KiB for each test case.