如果你FHQ莫名其妙WA-4,你有可能和我一样非常唐式的在split中提前return了
void split(int u, int &x, int &y, int a)
{
if (!u) return x = y = 0, void();
if (tr[u].val <= a) return x = u, split(tr[u].c[1], tr[u].c[1], y, a);
else return y = u, split(tr[u].c[0], x, tr[u].c[0], a);
pushup(u);
return;
}