CF1918G Permutation of Given

题目描述

你只得到了一个数字 $n$。你觉得这并不有趣,于是你开始思考,是否可以构造一个长度为 $n$ 的数组,数组中的元素均为非零整数,并且如果将数组中的每个元素替换为其相邻元素之和(数组两端的元素只用它们唯一的邻居替换),你能得到原数组的一个排列。

输入格式

每个测试用例只包含一个数字 $n$,其中 $2 \leq n \leq 10^6$。

输出格式

如果存在满足条件的数组,输出 "YES"(不带引号),并输出一个满足条件的数组 $a$($-10^9 \leq a_i \leq 10^9, a_i \neq 0$)。如果有多组答案,输出任意一组均可。 如果不存在这样的数组,输出 "NO"(不带引号)。 "YES" 和 "NO" 可以用任意大小写输出,例如 "YES"、"Yes"、"yEs" 等。

说明/提示

在第一个测试中,数组 $[1, 2, -2, -1]$ 是合适的,因为如果将每个元素替换为其相邻元素之和,得到的数组为 $[2, -1, 1, -2]$,这是原数组的一个排列。 在第二个测试中,可以证明不存在满足条件的解。 由 ChatGPT 4.1 翻译