2647 - 次小生成树

通过次数

2

提交次数

4

时间限制 : 1 秒
内存限制 : 128 MB

小C最近学了很多最小生成树的算法,Prim算法、Kurskal算法、消圈算法等。正当小C洋洋得意之时,小P又来泼小C的冷水了。小P说,让小C求出一个无向图的次小生成树,而且这棵次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集是EM,,严格次小生成树选择的边集是ES,那么需要满足:(value(e)表示边e的权值)

15654162875428.png

这下小C蒙了,他找到了你,希望你帮他解决这个问题。

输入

第一行包括两个整数N和M,表示无向图的点数与边数。

接下来M行,每行3个数a,y,z,表示点x和点y之间有一条边,边的权值为z。

输出

包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证存在严格次小生成树)。

样例

输入

5 6
1 2 1
1 3 2
2 4 3
3 5 4
3 4 3
4 5 6

输出

11

提示

【数据规模】

数据中无向图无自环。

对于50%的数据,N≤2000,M≤3000。

对于80%的数据,N≤50000,M≤100000。

对于100%的数据,N≤100000,M≤300000,边权值非负且不超过10的9次方。

来源

一本通