The minimum spanning tree of a graph is defined as a tree which contains all the vertices, and does so using the smallest accumulative weight of edges.
You are given a graph in the shape of a line: it has
All edges are undirected.
Find the minimum spanning tree of the graph by outputting the sum of the weights of all encompassed edges.
Input Specification
On the first line, there will be the integer
On the next line, there will be
Constraints
For all subtasks:
For all
Subtask 1 [35%]
Subtask 2 [20%]
Subtask 3 [45%]
Output Specification
Print a single integer, the combined weight of the graph's minimum spanning tree.
Sample Input 1
3 2
3 5
Sample Output 1
3
Explanation for Sample 1
There are three vertices in this graph. 1 and 2 are connected by an edge of weight 3, 2 and 3 by one of weight 5, and it can be deduced that, since
Sample Input 2
5 2
5 6 7 8
Sample Output 2
5
Explanation for Sample 2
There are five edges: edges of weight 0 exist from 1 to 3, 3 to 5, and 2 to 4. Take all of these edges, along with the edge connecting 1 and 2, and the minimum spanning tree is complete.
Sample Input 3
5 3
5 6 7 8
Sample Output 3
11
Comments
Once you've solved the problem, check out LNY's submission for an (IMO) pretty neat linear-time solution.