定义一个可重实数集 \{a_i\} 的离差为:对于任意实数 \mu , \sum_{i}\lvert a_i-\mu \rvert 的最小值。记为 d(\{a_i\}) 。例如,数集 \{1,2,4\} 的离差为 3 ,因为当 \mu = 2 时 \sum_{i}\lvert a_i-\mu \rvert=\lvert 1-2 \rvert+\lvert 2-2 \rvert+\lvert 4-2 \rvert=3 最小。
对于一棵带边权的树,我们定义它的离差为所有边的边权组成的可重集的离差。
现在给出一张无向连通图,每条边有一个权值,请求出它的最大离差生成树,即所有生成树中离差最大的一个。你需要输出这个离差。
第一行两个正整数 n, m ,分别表示图的点数和边数。
接下来 m 行,每行三个正整数 u, v, w ,用空格分隔,表示 u, v 之间有一条权值为 w 的无向边。点的编号从 1 到 n 。
输出一行一个整数,表示最大离差。
4 6 1 2 1 1 3 2 2 3 5 3 2 4 2 4 3 3 4 2
4
12 14 1 2 786042221 2 3 809044795 1 4 329386659 1 5 238858979 3 6 877890560 5 7 6361273 2 8 152371342 8 9 359313888 4 10 191185696 6 11 299487213 2 12 693994526 10 4 492620814 7 11 233529699 9 11 94590506
2933881117
对于所有数据, 2\le n\le 2\times 10^5, 1\le m\le 5\times 10^5, 1\le w\le 10^9 。