/in/foo.cc: In function 'void dfs(int, int, int)':
/in/foo.cc:20: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:55: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:63:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid = l + r >> 1;
~~^~~
/in/foo.cc: In function 'void dfs2(int, int)':
/in/foo.cc:83:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < map[x].size(); ++i) {
~~^~~~~~~~~~~~~~~
/in/foo.cc:93:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node4[x].size(); ++i) {
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:97:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node3[x].size(); ++i) {
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:102:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node4[x].size(); ++i)
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:104:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node3[x].size(); ++i)
~~^~~~~~~~~~~~~~~~~
/in/foo.cc:106:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node[x].size(); ++i)
~~^~~~~~~~~~~~~~~~
/in/foo.cc:108:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < node2[x].size(); ++i)
~~^~~~~~~~~~~~~~~~~