#P1555. Mike and gcd problem

Mike and gcd problem

题目描述

Mike 有一个长度为 nn 的序列 A=[a1,a2,,an]A=[a_1,a_2,\dots,a_n]。他认为一个序列 B=[b1,b2,,bn]B=[b_1,b_2,\dots,b_n] 是优美的,当且仅当其所有元素的 gcd\gcd 大于 11,即 gcd(b1,b2,,bn)>1\gcd(b_1,b_2,\dots,b_n)>1

Mike 想要对他的序列进行操作来使它变为优美的。每次操作,他可以选择一个下标 i (1i<n)i\ (1\leqslant i<n),删除 aia_iai+1a_{i+1},然后把 aiai+1a_i-a_{i+1}ai+ai+1a_i+a_{i+1} 放回这两个位置上。他希望操作次数尽可能少。如果序列可以变为优美的,你需要给出最少操作次数,否则,指出不可能。

gcd(b1,b2,,bn)\gcd(b_1,b_2,\dots,b_n) 是最大的非负整数 dd 使得 dd 整除每一个 bi (1in)b_i\ (1\leqslant i\leqslant n)

输入格式

第一行一个整数 n (2n105)n\ (2\leqslant n\leqslant 10^5),表示序列 AA 的长度。

之后一行,nn 个被空格隔开的整数 a1,a2,,an (1ai109)a_1,a_2,\dots,a_n\ (1\leqslant a_i\leqslant10^9),表示 AA 中的元素。

输出格式

如果可以使序列变为优美的,第一行输出 YES,然后第二行输出最小操作次数。

如果不可能使得序列变为优美的,在第一行输出 NO

2
1 1
YES
1
3
6 2 4
YES
0
2
1 3
YES
1