Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <iostream>#include <map>#include <vector>using namespace std;#define LL long longconst int MAXN = 100000+5;int N;int A[MAXN];vector<int> cost(MAXN, 0);vector<vector<int>> g(MAXN);int f[MAXN] = {0};int Find(int x){if (x == f[x]) return x;return f[x]=Find(f[x]);}void Union(int x, int y){int fx = Find(x);int fy = Find(y);if (fx!=fy) {f[fy] = fx;}}