CF1599J Bob's Beautiful Array
题目描述
Bob 非常喜欢玩数字数组。因此,在他生日时,他的朋友们送给了他一台非常有趣的机器——数组美化器。
数组美化器接收一个由 $N$ 个整数组成的数组 $A$,并输出一个长度为 $N$ 的新数组 $B$,该数组是基于输入数组构造的。美化器的构造方式如下:每次从原数组中取出两个不同下标的数,将它们的和写入新数组的末尾。这个过程重复 $N$ 次——最终输出长度为 $N$ 的数组。在这个过程中,同一个下标可以在不同的步骤中被多次选取。
Bob 对朋友们送的礼物非常兴奋,于是他把自己最喜欢的数组放进了机器。然而,当机器完成后,Bob 对结果数组并不满意。他非常想念自己最喜欢的数组,希望能找回它。
给定机器输出的数组,请帮助 Bob 找出一个可能是他最初放入机器的原始数组。如果不存在这样的输入数组,请告诉 Bob,他的数组已经永远丢失了。
输入格式
第一行包含一个正整数 $N$($2 \leq N \leq 10^3$)——Bob 的数组的长度。
第二行包含 $N$ 个整数 $B_1, B_2, \ldots, B_N$($1 \leq B_i \leq 10^6$)——机器输出的数组元素。
输出格式
如果存在一个合适的输入数组,输出 "YES",并在下一行输出该输入数组 $A_1, A_2, \ldots, A_N$($-10^9 \leq A_i \leq 10^9$)。否则,输出 "NO"。
说明/提示
由 ChatGPT 4.1 翻译