| Codeforces Round 1028 (Div. 1) |
|---|
| Закончено |
У Гелифиша есть массив из $$$n$$$ целых чисел $$$c_1, c_2, \ldots, c_n$$$. Изначально $$$c = [a_1, a_2, \ldots, a_n]$$$.
Гелифиш сделает $$$q$$$ модификаций массива $$$c$$$.
Для $$$i = 1,2,\ldots,q$$$ Гелифишу даются три целых числа $$$x_i$$$, $$$y_i$$$ и $$$z_i$$$ в диапазоне от $$$1$$$ до $$$n$$$. Затем Гелифиш присваивает $$$c_{z_i} := \min(c_{x_i}, c_{y_i})$$$.
После $$$q$$$ модификаций $$$c = [b_1, b_2, \ldots, b_n]$$$.
Теперь Флауэр знает значение $$$b$$$ и значения целых чисел $$$x_i$$$, $$$y_i$$$ и $$$z_i$$$ для всех $$$1 \leq i \leq q$$$, но она не знает значение $$$a$$$.
Флауэр хочет найти любое возможное значение массива $$$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$$$) — значение массива $$$c$$$ после $$$q$$$ модификаций.
Следующие $$$q$$$ строк каждая содержат три целых числа $$$x_i$$$, $$$y_i$$$ и $$$z_i$$$ ($$$1 \leq x_i, y_i, z_i \leq n$$$) — описание $$$i$$$-й модификации.
Гарантируется, что сумма $$$n$$$ и сумма $$$q$$$ по всем наборам входных данных не превосходят $$$3 \cdot 10^5$$$.
Для каждого набора входных данных, если искомое $$$a$$$ существует, выведите $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \leq a_i \leq 10^9$$$) на отдельной строке. В противном случае выведите «-1» на отдельной строке.
Если существует несколько решений, выведите любое из них.
32 11 22 1 23 21 2 32 3 21 2 16 41 2 2 3 4 55 6 64 5 53 4 42 3 3
-1 1 2 3 1 2 3 4 5 5
В первом наборе входных данных, основываясь на данной последовательности модификаций, мы знаем, что $$$b_1 = a_1$$$ и $$$b_2 = \min(a_1, a_2)$$$. Поэтому необходимо, чтобы $$$b_2 \leq b_1$$$. Однако для данного $$$b$$$ у нас $$$b_1 \lt b_2$$$. Следовательно, решения не существует.
Во втором наборе входных данных мы можем видеть, что данный $$$c$$$ становится $$$b$$$ из $$$a$$$ после заданных модификаций, и $$$c$$$ не изменяется при каждой модификации.
| Название |
|---|


