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_i と A_{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_i と T_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