AT_arc135_b [ARC135B] Sum of Three Terms

题目描述

给定一个项数为 $N$ 的整数列 $S = (S_1, \ldots, S_N)$。请判断是否存在一个项数为 $N+2$ 的整数列 $A = (A_1, \ldots, A_{N+2})$,满足以下条件: - 对于任意的 $i$($1 \leq i \leq N+2$),都有 $0 \leq A_i$。 - 对于任意的 $i$($1 \leq i \leq N$),都有 $S_i = A_i + A_{i+1} + A_{i+2}$。 如果存在,请输出其中一种满足条件的 $A$。

输入格式

输入从标准输入中给出,格式如下: > $N$ $S_1$ $S_2$ $\ldots$ $S_N$

输出格式

如果存在满足条件的整数列 $A$,输出 `Yes`,否则输出 `No`。如果输出 `Yes`,则在第二行输出满足条件的整数列 $A$ 的各个元素,空格分隔。 > $A_1$ $A_2$ $\ldots$ $A_{N+2}$ 如果存在多组满足条件的解,输出任意一组均可。

说明/提示

### 数据范围 - $1 \leq N \leq 3 \times 10^5$ - $0 \leq S_i \leq 10^9$ ### 样例解释 1 可以验证,对于任意的 $i$($1 \leq i \leq N$),都有 $S_i = A_i + A_{i+1} + A_{i+2}$ 成立。 - $6 = 0 + 4 + 2$。 - $9 = 4 + 2 + 3$。 - $6 = 2 + 3 + 1$。 - $6 = 3 + 1 + 2$。 - $5 = 1 + 2 + 2$。 由 ChatGPT 4.1 翻译