#CF1918G. 给定排列
给定排列
G. 给定排列
时间限制:每个测试 秒
内存限制:每个测试 MB
你只得到了一个数字 。你对此并不觉得有趣,于是你想知道:是否有可能构造一个长度为 的由非零整数组成的数组,使得将数组中的每个元素替换为其相邻元素之和(两端的元素仅由它们唯一的相邻元素替换)后,得到的新数组恰好是原数组的一个排列。
输入
每个测试用例仅包含一个整数 ()。
输出
如果存在解,输出 "YES"(不含引号),随后输出一个满足题目条件的数组 (,)。若有多组解,输出任意一组即可。
如果不存在合适的数组,输出 "NO"(不含引号)。
单词 "YES" 和 "NO" 的大小写可以任意,例如 "YES", "Yes", "yEs" 等都是可以的。
样例
输入
4
输出
YES
1 2 -2 -1
输入
5
输出
NO
说明
在第一个测试中,数组 是合适的,因为将每个元素替换为其相邻元素之和后,得到的新数组为 ,这恰好是原数组的一个排列。
在第二个测试中,可以证明不存在解。