Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pair <int, int> PII;const int MAXN = 1e6 + 7, Mo = 1e9 + 7;int N, M, K;int w[MAXN], u[MAXN];int getr(int s){if (u[s] == s) return s;return u[s] = getr(u[s]);}void init(){scanf("%d%d%d", &N, &M, &K);for (int i=1; i<=N; i++){scanf("%d", w+i);u[i] = i;}for (int i=0; i<M; i++){int x, y; scanf("%d%d", &x, &y);if (getr(x) != getr(y)) u[u[x]] = u[y];}}PII b[MAXN], mi[MAXN];void solve(){for (int i=1; i<=N; i++) mi[i] = PII(1e9, 0);