题目描述
Mike 有一个长度为 n 的序列 A=[a1,a2,…,an]。他认为一个序列 B=[b1,b2,…,bn] 是优美的,当且仅当其所有元素的 gcd 大于 1,即 gcd(b1,b2,…,bn)>1。
Mike 想要对他的序列进行操作来使它变为优美的。每次操作,他可以选择一个下标 i (1⩽i<n),删除 ai 和 ai+1,然后把 ai−ai+1 和 ai+ai+1 放回这两个位置上。他希望操作次数尽可能少。如果序列可以变为优美的,你需要给出最少操作次数,否则,指出不可能。
gcd(b1,b2,…,bn) 是最大的非负整数 d 使得 d 整除每一个 bi (1⩽i⩽n)。
输入格式
第一行一个整数 n (2⩽n⩽105),表示序列 A 的长度。
之后一行,n 个被空格隔开的整数 a1,a2,…,an (1⩽ai⩽109),表示 A 中的元素。
输出格式
如果可以使序列变为优美的,第一行输出 YES
,然后第二行输出最小操作次数。
如果不可能使得序列变为优美的,在第一行输出 NO
。
2
1 1
YES
1
3
6 2 4
YES
0
2
1 3
YES
1