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 翻译