// Problem: AT2148 [ARC063C] 木と整数 / Integers on a Tree // Contest: Luogu // URL: https://www.luogu.com.cn/problem/AT2148 // Memory Limit: 250 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h> usingnamespace std; //#define int long long inlineintread(){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 mo //#define M #define N 100010 structnode { int x, id; booloperator <(const node &A) const { return x>A.x; } }t, tt; structNode { int x, y, n; }d[N*2]; int n, m, i, j, k; int h[N], u, v, a[N]; priority_queue<node>q;
voidcun(int x, int y) { d[++k].x=x; d[k].y=y; d[k].n=h[x]; h[x]=k; }