Codeforces-Round-410#C-Mike and gcd problem
Mike and gcd problem
time limit per test 2 second memory limit per test 256 megabytes
Mike has a sequence A=[a1,a2,…,an] of length n. He considers the sequence B=[b1,b2,…,bn] beautiful if the gcd of all its elements is bigger than 1, i.e. .
Mike wants to change his sequence in order to make it beautiful. In one move he can choose an index i (1≤i<n), delete numbers ai,ai+1 and put numbers ai-ai+1,ai+ai+1 in their place instead, in this order. He wants perform as few operations as possible. Find the minimal number of operations to make sequence A beautiful if it’s possible, or tell him that it is impossible to do so.
is the biggest non-negative number d such that d divides bi for every i (1≤i≤n).
The first line contains a single integer n (2≤n≤100000) — length of sequence A.
The second line contains n space-separated integers a1,a2,…,an (1≤ai≤109) — elements of sequence A.
Output on the first line “YES” (without quotes) if it is possible to make sequence A beautiful by performing operations described above, and “NO” (without quotes) otherwise.
If the answer was “YES”, output the minimal number of moves needed to make sequence A beautiful.
等于1,我们开始找规律 奇奇变一次是偶偶 满足 奇偶变两次才能变成偶偶
当然 其实可以这样想 如果是奇奇奇 那么前面变一次成了 偶偶奇 这时候最后一个奇可以和前面的偶数变换两次 成偶偶偶