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 翻译