Minimum spanning tree with required edge

Write codeMedium30 min

Your task

You are laying fiber to connect n data centers (0..n-1). You are given a list of candidate edges [u, v, cost] and one required edge [u, v, cost] that policy forces you to build (e.g. a regulated backbone link). Return the minimum total cost to connect all n data centers into one network that includes the required edge, or -1 if full connectivity is impossible. The required edge may or may not appear in the candidate list.

Examples

min_network_cost(n: int, edges: list[list[int]], required: list[int]) -> int
Example 1
Inputmin_network_cost(4, [[0, 1, 1], [1, 2, 2], [2, 3, 3], [0, 3, 4]], [0, 3, 10])
Output13