atcoder#ARC106B. [ARC106B] Values

[ARC106B] Values

配点 : 400400

問題文

NN 頂点 MM 辺の単純無向グラフが与えられます。 ii 番目の辺は頂点 cic_i と頂点 did_i を結んでいます。

はじめ、頂点 ii には値 aia_i が書かれています。あなたは次の操作を 00 回以上行うことで、操作後の各頂点の値をそれぞれ b1b_1,\cdots,bNb_N にしたいと思っています。

  • 辺を 11 つ選ぶ。選んだ辺が頂点 xx と頂点 yy を結んでいるとしたとき、次のいずれかを選んで行う。- 値 axa_x1-1 し、値 aya_y+1+1 する
    • axa_x+1+1 し、値 aya_y1-1 する
  • axa_x1-1 し、値 aya_y+1+1 する
  • axa_x+1+1 し、値 aya_y1-1 する

適切に操作を行うことで目的を達成することが可能かどうかを判定してください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0M2×1050 \leq M \leq 2 \times 10^5
  • 109ai,bi109-10^9 \leq a_i,b_i \leq 10^9
  • 1ci,diN1 \leq c_i,d_i \leq N
  • 与えられるグラフは単純グラフである。すなわち、自己ループや多重辺は存在しない。
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN MM

a1a_1 \cdots aNa_N

b1b_1 \cdots bNb_N

c1c_1 d1d_1

\vdots

cMc_M dMd_M

出力

適切に操作を行うことで目的を達成することが可能な場合は Yes 、可能でない場合は No と出力せよ。

3 2
1 2 3
2 2 2
1 2
2 3
Yes

例えば、以下のように操作を行うことで、目的を達成できます。

  • 11 回目の操作で頂点 1122 を結ぶ辺を選び、a1a_1+1+1 し、 a2a_21-1 します。
  • 22 回目の操作で頂点 2233 を結ぶ辺を選び、a2a_2+1+1 し、 a3a_31-1 します。

以上の操作により、a1=2a_1=2 かつ a2=2a_2=2 かつ a3=2a_3=2 となります。

1 0
5
5
Yes

はじめから目的が達成されていることもあります。

2 1
1 1
2 1
1 2
No

どのように操作を行っても目的を達成できません。

17 9
-905371741 -999219903 969314057 -989982132 -87720225 -175700172 -993990465 929461728 895449935 -999016241 782467448 -906404298 578539175 9684413 -619191091 -952046546 125053320
-440503430 -997661446 -912471383 -995879434 932992245 -928388880 -616761933 929461728 210953513 -994677396 648190629 -530944122 578539175 9684413 595786809 -952046546 125053320
2 10
6 12
9 11
11 5
7 6
3 15
3 1
1 9
10 4
Yes