#CSES1675. 道路修复

道路修复

题目背景

翻译自 CSES-1675 题。

题目描述

有 nn 个城市和 mm 条道路连接它们。不幸的是,这些道路的状况非常差,无法直接使用。你的任务是修复一些道路,使得任意两个城市之间都有一条可通行的路。

对于每一条道路,你知道它的修复成本,你需要找到一个解决方案,使得总的修复成本最小。

输入格式

第一行包含两个整数 nn 和 mm:分别表示城市的数量和道路的数量。城市编号为 1,2,…,n1,2,…,n。

接下来有 mm 行,每行描述一条道路。每行包含三个整数 aa, bb 和 cc:表示城市 aa 和城市 bb 之间有一条道路,修复这条道路的成本是 cc。所有的道路都是双向的。

每条道路连接两个不同的城市,且每两个城市之间最多有一条道路。

输出格式

输出一个整数:表示最小的修复总成本。如果没有解决方案,输出 IMPOSSIBLE。

样例

5 6
1 2 3
2 3 5
2 4 2
3 4 8
5 1 7
5 4 4
14

说明/提示

1≤n≤1051 \leq n \leq 10^5;

1≤m≤2⋅1051 \leq m \leq 2 \cdot 10^5

1≤a,b≤n1 \leq a, b \leq n;

1≤c≤n1 \leq c \leq n。