// Problem: #10008. 「一本通 1.1 练习 4」家庭作业 // Contest: LibreOJ // URL: https://loj.ac/p/10008 // Memory Limit: 512 MB // Time Limit: 1000 ms // // Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h> using namespace std; #define int long long inline int read(){int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+ (x<<3)+(ch^48);ch=getchar();}return x*f;} //#define M //#define mo //#define N struct node { int t, v; }a[1000010]; int n, m, i, j, k; int f[700010];
bool cmp(node x, node y) { return x.v>y.v; }
int dfs(int x) { if(f[x]==x) return x; return f[x]=dfs(f[x]); }