Дан неориентированный связный взвешенный граф: n вершин и список рёбер edges, каждое - тройка [u, v, вес].
Верните суммарный вес минимального остовного дерева (алгоритм Крускала: рёбра по возрастанию веса, добавлять только если концы ещё не в одной компоненте - система непересекающихся множеств).
Сигнатура функции
min_spanning_tree_weight(n: int, edges: list[list[int]]) -> int