met.cpp: In function 'void build(int&, int, int)':
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:7:16: note: in expansion of macro 'tm'
7 | #define ls tl, tm
| ^~
met.cpp:28:16: note: in expansion of macro 'ls'
28 | build(t[v].l, ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:12: note: in expansion of macro 'tm'
8 | #define rs tm + 1, tr
| ^~
met.cpp:29:16: note: in expansion of macro 'rs'
29 | build(t[v].r, rs);
| ^~
met.cpp: In function 'void upd(int, int, int, int&, int, int)':
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:38:13: note: in expansion of macro 'tm'
38 | if (pos <= tm) {
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:7:16: note: in expansion of macro 'tm'
7 | #define ls tl, tm
| ^~
met.cpp:40:35: note: in expansion of macro 'ls'
40 | upd(pos, val, t[v1].l, t[v2].l, ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:12: note: in expansion of macro 'tm'
8 | #define rs tm + 1, tr
| ^~
met.cpp:43:35: note: in expansion of macro 'rs'
43 | upd(pos, val, t[v1].r, t[v2].r, rs);
| ^~
met.cpp: In function 'void upd2(int, int, int&, int, int)':
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:55:13: note: in expansion of macro 'tm'
55 | if (pos <= tm) {
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:7:16: note: in expansion of macro 'tm'
7 | #define ls tl, tm
| ^~
met.cpp:56:26: note: in expansion of macro 'ls'
56 | upd2(pos, val, t[v].l, ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:12: note: in expansion of macro 'tm'
8 | #define rs tm + 1, tr
| ^~
met.cpp:58:26: note: in expansion of macro 'rs'
58 | upd2(pos, val, t[v].r, rs);
| ^~
met.cpp: In function 'void get(int, int, int, int)':
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:7:16: note: in expansion of macro 'tm'
7 | #define ls tl, tm
| ^~
met.cpp:71:17: note: in expansion of macro 'ls'
71 | get(r, t[v].l, ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:12: note: in expansion of macro 'tm'
8 | #define rs tm + 1, tr
| ^~
met.cpp:72:17: note: in expansion of macro 'rs'
72 | get(r, t[v].r, rs);
| ^~
met.cpp: In function 'int main()':
met.cpp:111:10: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
111 | m = l + r >> 1;
| ~~^~~