#include #include #include #include using namespace std; const int oo=0x3f3f3f3f; const int maxn=100005; vector G[maxn]; int n,m,f[maxn],mi[maxn],a[maxn]; void dfs(int u,int mina,int p) { int flag=1; mina=min(a[u],mina); if(mi[u]>mina) mi[u]=mina,flag=0; int maxx=max(f[p],a[u]-mina); if(f[u]