/in/foo.cc: In function 'void dfs(int, int, int)':
/in/foo.cc:31:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < map[x].size(); ++i)
~~^~~~~~~~~~~~~~~
/in/foo.cc: In member function 'void RMQ::update(int, int, int, int, int)':
/in/foo.cc:87:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid = l + r >> 1;
~~^~~
/in/foo.cc: In member function 'int RMQ::query(int, int, int, int)':
/in/foo.cc:95:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid = l + r >> 1;
~~^~~
/in/foo.cc: In function 'void dfs2(int, int)':
/in/foo.cc:110:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < map[x].size(); ++i) {
~~^~~~~~~~~~~~~~~
/in/foo.cc:115:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node4[x].size(); ++i)
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:117:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node3[x].size(); ++i)
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:120:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node[x].size(); ++i)
~~^~~~~~~~~~~~~~~~
/in/foo.cc:122:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node2[x].size(); ++i)
~~^~~~~~~~~~~~~~~~~