#abc027b. [abc027_b]島と橋
[abc027_b]島と橋
问题描述
有 个岛屿横向排列。对于 ,第 个岛和第 个岛相邻。
开始时,第 () 个岛有 个居民。高桥君希望让所有岛屿都有相同数量的居民。
高桥君可以在相邻的两个岛之间架桥。并且,可以在通过一个或多个桥直接或间接连接的多个岛之间自由移动居民。
为了让所有岛屿有相同数量的居民,求需要架设桥的最小数量。
输入
输入从标准输入读取,具有以下格式:
- 第一行包含一个整数 (),表示岛屿的数量。
- 第二行包含以空格分隔的整数 (),表示第 个岛有 个居民。
输出
为了使所有岛屿都有相同数量的居民,输出需要架设的桥的最小数量,输出在一行上。如果无论如何架桥都无法使所有岛屿有相同数量的居民,则输出 -1
。在输出末尾包含一个换行符。
示例1
3
1 2 3
输出示例1
2
按照图中所示架桥即可。
示例2
5
2 0 0 0 3
输出示例2
3
按照图中所示架桥即可。
示例3
2
0 99
输出示例3
-1
无论如何架桥都无法使所有岛屿有相同数量的居民。
示例4
4
0 0 0 0
输出示例4
0
初始状态下,所有岛屿都有相同数量的居民。