不朴素的数列(Bonus)
题目描述
本题是 http://oj.daimayuan.top/problem/882 的加强版,差别仅在于 n 与 Si 的取值。已使用红色字体标注题面中的区别。
关于序列 {S} 定义 f(S)=gcd(S1,S2,⋯,Sn)。
我们熟知 gcd 运算具有结合律,即 $\gcd(a, b, c, \cdots) = \gcd(a, \gcd(b, c, \cdots))$,可以轻松算出 f(S)。
然而 Patricky 认为,那些 f(S)=1 的序列太过朴素。现在给定 {S},他希望您能用下面的操作修改 {S} 使得 f(S)≥2 :
- 选择 i,i+1(i=n),将 ⟨Si,Si+1⟩ 修改为 ⟨Si−1,Si+1+1⟩
- 选择 i,i+1(i=n),将 ⟨Si,Si+1⟩ 修改为 ⟨Si+1,Si+1−1⟩
试回答使得 f(S)≥2 的 最小 操作次数,或回答不可能。
输入格式
输入包含两行,第一行有一个整数 n,表示 {S} 的大小。
接下来一行包含 n 个用空格分隔的整数,依次表示 S1,S2,⋯,Sn。
输出格式
输出使得 f(S)≥2 的最小操作次数。如果不可能,则在一行中输出 −1。
样例输入 1
3
4 8 5
样例输出 1
9
解释:
$[4, 8, 5] \rightarrow^4 [0, 12, 5] \rightarrow^5 [0, 17, 0]$
样例输入 2
4
0 5 15 10
样例输出 2
0
样例输入 3
6
1 2 3 4 5 6
样例输出 3
2
解释:
$[1, 2, 3, 4, 5, 6] \rightarrow [0, 3, 3, 4, 5, 6] \rightarrow [0, 3, 3, 3, 6, 6]$
数据范围
- 1≤n≤106
- Si∈[0,106] 但保证 i=1∑nSi≥1,即元素不同时为 0。