CF2115B Gellyfish and Camellia Japonica

题目描述

Gellyfish 有一个长度为 $n$ 的整数数组 $c$,初始状态为 $c = [a_1, a_2, \ldots, a_n]$。接下来,Gellyfish 对数组进行 $q$ 次修改。每次修改由三个整数 $x_i, y_i, z_i$ 描述,表示将 $c_{z_i}$ 的值设置为 $\min(c_{x_i}, c_{y_i})$。经过 $q$ 次修改后,数组变为 $c = [b_1, b_2, \ldots, b_n]$。 Flower 知道最终数组 $b$ 和所有修改操作 $(x_i, y_i, z_i)$,但不知道初始数组 $a$。她希望找到任意一个满足条件的初始数组 $a$,或者判断不存在这样的 $a$。如果存在多个解,输出任意一个即可。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 对于每个测试用例: 第一行包含两个整数 $n$ 和 $q$($1 \leq n, q \leq 3 \cdot 10^5$),分别表示数组大小和修改次数。 第二行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \leq b_i \leq 10^9$),表示修改后的数组。 接下来的 $q$ 行,每行包含三个整数 $x_i, y_i, z_i$($1 \leq x_i, y_i, z_i \leq n$),描述一次修改操作。 所有测试用例的 $n$ 之和与 $q$ 之和均不超过 $3 \cdot 10^5$。

输出格式

对于每个测试用例: 如果存在初始数组 $a$,输出一行 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i \leq 10^9$)。 否则,输出一行 `-1` 。

说明/提示

**第一个测试用例:** 修改操作要求 $b_2 = \min(a_1, a_2)$,且 $b_1 = a_1$。但 $b_1 = 1 < b_2 = 2$,矛盾,无解。 **第二个测试用例:** 初始数组 $a = [1, 2, 3]$ 经过两次修改后得到 $b = [1, 2, 3]$。 **第三个测试用例:** 输出 $a = [1, 2, 3, 4, 5, 5]$ 是一个可行解。 --- 由 DeepSeek 翻译