magictree.cpp: In function 'void dfs(int, int)':
magictree.cpp:38:15: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
38 | sub[beg][2] = 0;
| ~~~~~~~~~~^
magictree.cpp:40:22: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
40 | else sub[beg][2] += f[beg].second;
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~
magictree.cpp:49:52: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
49 | dp[beg] = max(dp[beg], sub[beg][1] - sub[beg][2]);
| ~~~~~~~~~~^
magictree.cpp:46:21: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
46 | sub[beg][2] += sub[nb][2];
| ~~~~~~~~~~~~^~~~~~~~~~~~~
magictree.cpp:46:33: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
46 | sub[beg][2] += sub[nb][2];
| ~~~~~~~~~^
magictree.cpp:46:21: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
46 | sub[beg][2] += sub[nb][2];
| ~~~~~~~~~~~~^~~~~~~~~~~~~
magictree.cpp: In function 'int main()':
magictree.cpp:64:39: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
64 | s.push_back(make_pair(sub[x][2], x));
| ~~~~~~~~^
magictree.cpp:65:40: warning: array subscript 2 is above array bounds of 'long long int [2]' [-Warray-bounds]
65 | ans = max(ans, dp[x] + sub[x][2]);
| ~~~~~~~~^