068 - Paired Information(★5) Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点: 5

問題文

長さ N の整数列 A = (A_1, A_2, \ldots, A_N) があります。 はじめ、あなたはこの整数列について何も知りません。

整数列 A に関する情報と質問(まとめてイベントと呼ぶ)が Q 個与えられます。最初から i 番目 (1 \leq i \leq Q) のイベントは 4 つの整数の組 (T_i, X_i, Y_i, V_i) で表され、これは次のようなものです。

  • T_i = 0 のとき、これは A_{X_i} + A_{Y_i} = V_i という情報が与えられることを意味します。ここでは、必ず X_i+1=Y_i です。
  • T_i = 1 のとき、これは A_{X_i} = V_i と仮定したとき A_{Y_i} の値は何か?という質問を意味します。
    • より厳密には、 A_{X_i}=V_iA_{X_j} + A_{Y_j} = V_j \ (1 \leq j \lt i, T_j = 0) がすべて成り立つような長さ N の整数列 A において、 A_{Y_i} の値は何か? という質問を表します。

イベントを順に処理し、それぞれの質問に答えてください。 ただし、質問の時点で答え A_{Y_i} が一通りに定まらないとき、代わりに Ambiguous と出力してください。

制約

  • 1\leq N\leq10^5
  • 1\leq Q\leq10^5
  • T_i=0 または T_i=1\ (1\leq i\leq Q)
  • 1\leq X_i,Y_i\leq N\ (1\leq i\leq Q)
  • T_i=0 ならば X_i+1=Y_i\ (1\leq i\leq Q)
  • 0\leq V_i\leq 2\times10^9\ (1\leq i\leq Q)
  • 矛盾するような入力は与えられない。
    • つまり、i=1,2,\ldots,Q に対して、 T_i=0 ならば T_j=0\ (1\leq j\leq i) を満たす j に対する A_{X_j}+A_{Y_j}=V_j がすべて成り立ち、 T_i=1 ならば A_{X_i}=V_iT_j=0\ (1\leq j \lt i) を満たす j に対する A_{X_j}+A_{Y_j}=V_j がすべて成り立つような、長さ N の整数列 A が存在する。
  • 入力は全て整数

入力

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

N
Q
T_1 X_1 Y_1 V_1
T_2 X_2 Y_2 V_2
\vdots
T_Q X_Q Y_Q V_Q

出力

それぞれの質問の答えを順番に出力してください。 ただし、質問の時点で答えが一通りに定まらないとき、代わりに Ambiguous と出力してください。


入力例 1

4
7
0 1 2 3
1 1 2 1
1 3 4 5
0 3 4 6
1 3 4 5
0 2 3 6
1 3 1 5

出力例 1

2
Ambiguous
1
2

それぞれの質問について、答えは次のようになります。

  • 1 回目の質問(i=2)では、A_1=1 および A_1+A_2=3 を満たすような数列 A はすべて A_2=2 を満たすので、出力すべきものは 2 です。
  • 2 回目の質問(i=3)では、A_3=5 および A_1+A_2=3 を満たすような数列 A には (A_1,A_2,A_3,A_4)=(1,2,5,10)(A_1,A_2,A_3,A_4)=(3,0,5,0) などがあり、 A_4 の値はただ一つに定まらないため、出力すべきものは Ambiguous です。
  • 3 回目の質問(i=5)では、A_3=5 および A_1+A_2=3,A_3+A_4=6 を満たすような数列 A はすべて A_4=1 を満たすので、出力すべきものは 1 です。
  • 4 回目の質問(i=7)では、A_3=5 および A_1+A_2=3,A_3+A_4=6,A_2+A_3=6 を満たすような数列 A はすべて A_1=2 を満たすので、出力すべきものは 2 です。

入力例 2

15
25
0 11 12 41
0 1 2 159
0 14 15 121
0 4 5 245
0 12 13 157
0 9 10 176
0 6 7 170
0 2 3 123
0 7 8 167
0 3 4 159
1 12 11 33
0 10 11 116
0 8 9 161
1 9 12 68
1 12 12 33
1 7 12 74
0 5 6 290
1 8 9 93
0 13 14 127
1 10 12 108
1 14 1 3
1 13 8 124
1 12 11 33
1 12 10 33
1 5 15 194

出力例 2

8
33
33
33
68
33
144
93
8
108
118

Source Name

「競プロ典型90問」68日目