CF1081E Missing Numbers

题目描述

Chouti 正在研究一道奇怪的数学题。 有一个长度为 $n$ 的正整数序列 $x_1, x_2, \ldots, x_n$,其中 $n$ 是偶数。这个序列非常特殊,对于每一个 $t$ 从 $1$ 到 $n$,都有 $x_1 + x_2 + \ldots + x_t$ 是某个整数的平方(即一个完全平方数)。 然而,不知为何,所有奇数下标的数都丢失了,所以他只知道偶数位置上的数,即 $x_2, x_4, x_6, \ldots, x_n$。他的任务是还原原始序列。现在轮到你来帮助他了。 出题人可能会出错,因此可能根本不存在这样的序列。如果存在多个可能的序列,你可以输出任意一个。

输入格式

第一行包含一个偶数 $n$($2 \le n \le 10^5$)。 第二行包含 $\frac{n}{2}$ 个正整数 $x_2, x_4, \ldots, x_n$($1 \le x_i \le 2 \times 10^5$)。

输出格式

如果不存在可能的序列,输出 "No"。 否则,输出 "Yes",然后输出 $n$ 个正整数 $x_1, x_2, \ldots, x_n$($1 \le x_i \le 10^{13}$),其中 $x_2, x_4, \ldots, x_n$ 要与输入数据相同。如果有多个答案,输出任意一个即可。 注意,$x_i$ 的限制比输入数据更大。可以证明,如果有解,必然存在满足 $1 \le x_i \le 10^{13}$ 的序列。

说明/提示

在第一个样例中: - $x_1=4$ - $x_1+x_2=9$ - $x_1+x_2+x_3=25$ - $x_1+x_2+x_3+x_4=36$ - $x_1+x_2+x_3+x_4+x_5=100$ - $x_1+x_2+x_3+x_4+x_5+x_6=144$ 这些数全都是完全平方数。在第二个样例中,$x_1=100$,$x_1+x_2=10000$,它们都是完全平方数。还有其他答案,例如 $x_1=22500$ 也是一种答案。 在第三个样例中,可以证明不存在这样的序列。 由 ChatGPT 4.1 翻译