#ATarc153c. [ARC153C] ± Increasing Sequence

[ARC153C] ± Increasing Sequence

题目描述

给定一个只包含 111-1 的长度为 NN 的数列 A=(A1,,AN)A = (A_1, \ldots, A_N)

请判断是否存在一个整数数列 x=(x1,,xN)x = (x_1, \ldots, x_N),使其满足以下所有条件,并在存在时给出这样一个数列。

  • 对于任意 ii1iN1 \leq i \leq N),都有 xi1012|x_i| \leq 10^{12}
  • xx 是严格单调递增的,即 x1<x2<<xNx_1 < x_2 < \cdots < x_N
  • i=1NAixi=0\sum_{i=1}^N A_i x_i = 0

输入格式

输入以如下格式从标准输入读入。

NN A1A_1 A2A_2 \ldots ANA_N

输出格式

如果存在满足条件的整数数列 xx,输出 Yes,否则输出 No。若输出 Yes,则第二行输出这样一个整数数列 xx 的所有元素,空格分隔,输出一行。

x1x_1 x2x_2 \ldots xNx_N

如果存在多个满足条件的数列,输出任意一个均可。

样例 1

输入

5
-1 1 -1 -1 1

输出

Yes
-3 -1 4 5 7

样例 2

输入

1
-1

输出

Yes
0

样例 3

输入

2
1 -1

输出

No

说明/提示

限制

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • Ai{1,1}A_i \in \{1, -1\}

样例解释 1

对于该输出,有 $\sum\_{i=1}^N A\_i x\_i = -(-3) + (-1) - 4 - 5 + 7 = 0$。

由 ChatGPT 4.1 翻译