Module: 贪心算法


Problem

8 /9


Risotto Nero 想出了一个谜题

Problem

最近,Risotto Nero 发现了河内的塔楼,他非常喜欢这个拼图。然而,他厌倦了纸上谈兵,所以他决定在现实生活中重现它们。
然而,Risotto Nero 只有相同半径的圆环,所以他想出了一个不同的谜题。
有n根棍子。最初,他们每个人要么只有一个戒指,要么没有。同时,至少有一个圆环出现在任何一根木棍上。
只需一个动作,您就可以将戒指转移到相邻的魔杖上。 
需要最少的动作数才能达到这样的情况,即某个整数k>; 1 使得每根木棍上的环数可以被 k 整除,或者说这是不可能的。
Risotto Nero 已经解决了这个问题,等待您检查答案。

输入:
第一行包含一个整数 n (1 ≤ n ≤ 105) —棍子的数量。
第二行包含n个整数a1,a2,…,an (0 ≤ a_i ≤ 1) —每根木棍上的初始环数。

输出:
如果所需的解决方案不存在,则打印 −1。
否则打印 x —使拼图达到所需状态的最少操作数。

示例:
  <正文>
解释:
在第一个示例中,您可以先将环从第三根棍子移到第二根棍子上,然后再从第二根棍子移到第一根棍子上。之后,每根木棍上的环数将除以 2。
输入 输出
3
1 0 1
2
1
1
-1