关于不用全局变量
二维数组
vector< vector<int> > a(n, vector<int>(m));
函数
auto dfs = [&](auto self, int x) {
sz[x] = 0;
if (!x) return;
sz[x] = 1;
self(self, l[x]);
self(self, r[x]);
if (sz[l[x]] < sz[r[x]]) swap(l[x], r[x]);
sz[x] += sz[l[x]] + sz[r[x]];
int tmp = max(sz[l[x]], sum - sz[x]);
if (mi > tmp) mi = tmp, id = x;
};