/in/foo.cc: In function 'void R(int&)':
/in/foo.cc:13:10: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
v = (v + (v << 2) << 1) + (ch^'0');
~~^~~~~~~~~~
/in/foo.cc: In constructor 'node::node(int, int)':
/in/foo.cc:24:10: warning: 'node::max' will be initialized after [-Wreorder]
int fa, max;
^~~
/in/foo.cc:24:6: warning: 'int node::fa' [-Wreorder]
int fa, max;
^~
/in/foo.cc:26:2: warning: when initialized here [-Wreorder]
node(int max, int fa): max(max), fa(fa) {}
^~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:156:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j < bl[pos[r1]].size(); ++j) {
~~^~~~~~~~~~~~~~~~~~~~
/in/foo.cc:165:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j < bl[pos[r1]].size(); ++j) {
~~^~~~~~~~~~~~~~~~~~~~
/in/foo.cc:176:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j < bl[pos[l1]].size(); ++j) {
~~^~~~~~~~~~~~~~~~~~~~
/in/foo.cc:186:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j < bl[pos[l1]].size(); ++j) {
~~^~~~~~~~~~~~~~~~~~~~