問題一覧 > 通常問題

No.1017 Reiwa Sequence

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 119
作問者 : maspy / テスター : beet
35 ProblemId : 4044 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-04-25 10:42:46

問題文

正の整数からなる長さ NN の数列 A=A1,A2,,ANA = A_1,A_2,\ldots,A_N があります。 あなたは各 i{1,2,,N}i\in\{1,2,\ldots,N\} に対して次の操作を行うことで、数列 B=B1,B2,,BNB = B_1,B_2,\ldots,B_N を作ることにしました。

  • xi{1,0,1}x_i\in \{-1,0,1\} を選び、Bi=AixiB_i = A_ix_i と定める。

次の 22 条件が共に成り立つようにしてください。

  • 数列 BB は零和である。つまり、i=1NBi=0\sum_{i=1}^NB_i=0 が成り立つ。
  • 数列 BB00 でない項が存在する。

入力

NN
A1 A2  ANA_1\ A_2\ \cdots\ A_N

  • 入力は全て整数である。
  • 1N1500001\leqq N\leqq 150000
  • 1Ai1500001\leqq A_i\leqq 150000

出力

操作によって条件を満たす数列が得ることが不可能なら、Noと出力してください。 可能な場合には、11 行目にYesと出力し、22 行目に操作後の数列 B=B1,B2,,BNB = B_1,B_2,\ldots,B_N を空白区切りで出力してください。
最後に改行してください。

サンプル

サンプル1
入力
5
1 2 3 4 5
出力
Yes
1 -2 0 -4 5

他にも0 -2 3 4 -50 2 3 0 -5などの数列を得ることができます。 条件を満たしていれば、どの数列を出力しても正答と判定されます。 なお、0 0 0 0 0は条件を満たしません。

サンプル2
入力
3
2019 5 1
出力
No

サンプル3
入力
2
10 10
出力
Yes
10 -10

サンプル4
入力
9
314 159 265 358 979 323 846 264 338
出力
Yes
314 159 0 358 0 -323 -846 0 338

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。