問題一覧 > 通常問題

No.2654 [Cherry 6th Tune] Re: start! (Black Sheep)

レベル : / 実行時間制限 : 1ケース 7.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 24
作問者 : 👑 Kazun / テスター : 👑 AngrySadEight
0 ProblemId : 5662 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-02-23 21:37:13

導入

この問題は, 現在の Cherry コンテストの前身である Zelkova コンテスト開催の際に一番最初に作問した [Zelkova 8th Tune] Black Sheep をテーマに再度作問したものです.

問題文

この問題は, それぞれの"もの"の添字が 「0 始まり」か 「1 始まり」かに注意して問題文を読むこと.

Black Sheep

Black Sheep において, 整数列の初項は第 00 項であるとする.

M2M \geq 2 とする. 長さ (M+1)(M+1) の整数列 B=(B0,B1,,BM)B=(B_0, B_1, \dots, B_M) について, 以下を満たすような整数 jj が存在するとき, この整数列 BB は黒い列であるという.

  • 0jM0 \leq j \leq M.
  • MM 個の整数 B0,B1,,Bj1,Bj+1,,BMB_0, B_1, \dots, B_{j-1}, B_{j+1}, \dots, B_M は互いに等しく, その整数は BjB_j とは異なる.

例えば, (1,1,2),(3,4,3,3,3)(1,1,2), (3,4,3,3,3) は黒い列ではあるが, (5,6,7,7,7),(8,8,9,9,9),(0,0,0,0)(5,6,7,7,7), (8,8,9,9,9), (0,0,0,0) は黒い列ではない.

長さ (M+1)(M+1) の整数列 C=(C0,C1,,CM)C=(C_0,C_1, \dots, C_M) に対して, 以下の操作を00 回以上行い, CC を黒い列にすることを目指す.

  • 以下の 22 つのうち, どちらか一方を選び, それを実行する.
    • 00 以上 MM 以下の整数 ii を選び, CC の第 ii 項に 11 加算する.
    • 00 以上 MM 以下の整数 ii を選び, CC の第 ii 項から 11 減算する.

CC を黒い列にするためには, 最低何回操作を行う必要があるか?

(N+1)(N+1) 頂点の単純無向グラフ TT が与えられる. この TT は木をなす.

TT における (N+1)(N+1) 個の頂点は頂点 0,1,2,,N0,1,2, \dots, N と名付けられている. また, TT にある NN 本の辺のうち, j (1jN)j~(1 \leq j \leq N) 番目の辺は頂点 uju_j と頂点 vjv_j を結ぶ.

x=1,2,,Nx=1,2, \dots, N それぞれに対して, 以下の問いに答えよ.

  • 頂点 00 から頂点 xx への単純パスを (p0,p1,,pd)(p_0, p_1, \dots, p_d) (ただし, p0=0,pd=xp_0=0, p_d=x) とする. このとき, d2d \geq 2 か? そして, d2d \geq 2 であるならば, C=(Ap0,Ap1,,Apd)C=(A_{p_0}, A_{p_1}, \dots, A_{p_d}) に対して, Black Sheep を解け.

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5.
  • 0Ai109(0iN)0 \leq A_i \leq 10^9 \quad (0 \leq i \leq N).
  • 0ujN,0vjN(1jN)0 \leq u_j \leq N, 0 \leq v_j \leq N \quad (1 \leq j \leq N).
  • TT は木をなす.
  • 入力は全て整数である.

入力

入力は以下の形式で標準入力から与えられる.
NN
A0A_0 A1A_1 \cdots ANA_N
u1u_1 v1v_1
u2u_2 v2v_2
\vdots
uNu_N vNv_N

出力

出力は NN 行からなる.

x (1xN)x~(1 \leq x \leq N) 行目には, 頂点 00 から頂点 xx への単純パスを (p0,p1,,pd)(p_0, p_1, \dots, p_d) としたとき, d2d \geq 2 であるならば, C=(Ap0,Ap1,,Apd)C=(A_{p_0}, A_{p_1}, \dots, A_{p_d}) に対する, Black Sheep の解答を, d<2d \lt 2 であるならば, -1 を出力せよ.

サンプル

サンプル1
入力
4
3 6 1 2 7
0 1
1 2
1 3
3 4
出力
-1
2
1
4

ここでは x=1,x=4x=1, x=4 の場合を説明する.

  • x=1x=1 の場合: 頂点 00 から頂点 11 への単純パスは (0,1)(0,1) である. よって, d=1d=1 であり, d<2d \lt 2 であるから, -1 を出力しなければならない.

  • x=4x=4 の場合: 頂点 00 から頂点 44 への単純パスは (0,1,3,4)(0,1,3,4) である. よって, d=3d=3 であり, d2d \geq 2 であるから, Black Sheep を解かなければならない.

    C:=(A0,A1,A3,A4)=(3,6,2,7)C:=(A_0, A_1, A_3, A_4)=(3,6,2,7) に対する Black Sheep について, 次のようにして, 44 回の操作で CC を黒い列にすることができる.

    • i=0i=0 を選択し, CC の第 00 項に 11 加算し, 33 から 44 にする.
    • i=0i=0 を選択し, CC の第 00 項に 11 加算し, 44 から 55 にする.
    • i=0i=0 を選択し, CC の第 00 項に 11 加算し, 55 から 66 にする.
    • i=3i=3 を選択し, CC の第 33 項から 11 減算し, 77 から 66 にする.

    これにより, C=(6,6,2,6)C=(6,6,2,6) となり, 黒い列にできた. また, 44 手未満の操作で CC を黒い列にすることは不可能であることが証明できる. よって, 44 が正解である.

サンプル2
入力
7
4 46 464 4646 46464 464646 4646464 46464646
0 3
0 5
3 7
4 7
1 7
2 4
4 6
出力
4642
50642
-1
46460
-1
4688278
4642

サンプル3
入力
5
1 2 4 8 16 32
0 1
0 2
0 3
0 4
0 5
出力
-1
-1
-1
-1
-1

TT が頂点 00 を中心とするスターの場合, x=1,2,,Nx=1,2, \dots, N 全てに対して, (0,x)(0, x) が頂点 00 から頂点 xx への単純パスになる. つまり, d=1d=1 であるから, -1NN 行出力しなければならない.

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