Задан ориентированный взвешенный граф на $$$n$$$ вершинах и $$$m$$$ ориентированных ребрах, вес $$$i$$$-го ребра равен $$$w_i$$$ ($$$1 \le i \le m$$$).
Нужно развернуть несколько ребер (изменить их ориентацию на противоположную) в этом графе таким образом, чтобы все вершины графа стали достижимы из какой-то одной. Стоимость таких разворотов равна максимальному весу среди всех развернутых ребер. Если можно обойтись без разворота ребер, стоимость считается равной $$$0$$$.
Гарантируется, что в графе нет петель и кратных ребер.
Найдите наименьшую стоимость, необходимую для достижения цели. Если решения нет, выведите $$$-1$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два числа: $$$n$$$ и $$$m$$$ ($$$2 \le n \le 2 \cdot 10^5$$$, $$$1 \le m \le 2 \cdot 10^5$$$) — количество вершин в графе и количество ребер в графе.
Следующие $$$m$$$ строк каждого набора входных данных содержат по $$$3$$$ числа $$$u$$$, $$$v$$$, $$$w$$$ ($$$1 \le u, v \le n$$$, $$$1 \le w \le 10^9$$$), которые задают ребро из $$$u$$$ в $$$v$$$ с весом $$$w$$$. Гарантируется, что никакое ребро не соединяет вершину саму с собой, а также никакая пара ребер не имеют одновременно общее начало и общий конец.
Гарантируется, что сумма значений $$$n$$$, а также сумма значений $$$m$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите наименьшую необходимую стоимость. Если решения нет, выведите $$$-1$$$.
42 11 2 35 41 2 102 3 103 1 104 5 104 51 2 100002 3 200001 3 300004 2 5004 3 204 51 2 100002 3 200001 3 300004 2 54 3 20
0 -1 20 5
В первом наборе входных данных существует ребро из $$$1$$$ в $$$2$$$, так что все вершины уже достижимы из $$$1$$$.
Во втором наборе входных данных невозможно добиться того, чтобы все вершины были достижимы из какой-то одной, как бы ни были развернуты ребра. Поэтому в качестве ответа нужно вывести $$$-1$$$.
В третьем наборе входных данных можно развернуть $$$4$$$-е или $$$5$$$-е ребро. После этого все вершины станут достижимы из вершины $$$1$$$. Для ответа выбирается $$$5$$$-е ребро, поскольку его вес меньше.
Название |
---|