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:24: note: in expansion of macro 'tm'
7 | #define ls v << 1, tl, tm
| ^~
met.cpp:22:8: note: in expansion of macro 'ls'
22 | build(ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:24: note: in expansion of macro 'tm'
8 | #define rs v << 1 | 1, tm + 1, tr
| ^~
met.cpp:23:8: note: in expansion of macro 'rs'
23 | build(rs);
| ^~
met.cpp: In function 'void upd(int, int, int, int, int)':
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:31:13: note: in expansion of macro 'tm'
31 | if (pos <= tm) upd(pos, val, ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:7:24: note: in expansion of macro 'tm'
7 | #define ls v << 1, tl, tm
| ^~
met.cpp:31:31: note: in expansion of macro 'ls'
31 | if (pos <= tm) upd(pos, val, ls);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:24: note: in expansion of macro 'tm'
8 | #define rs v << 1 | 1, tm + 1, tr
| ^~
met.cpp:32:21: note: in expansion of macro 'rs'
32 | else upd(pos, val, rs);
| ^~
met.cpp: In function 'll get(int, int, int, int)':
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:7:24: note: in expansion of macro 'tm'
7 | #define ls v << 1, tl, tm
| ^~
met.cpp:39:16: note: in expansion of macro 'ls'
39 | return get(r, ls) + get(r, rs);
| ^~
met.cpp:6:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
6 | #define tm (tl + tr >> 1)
| ~~~^~~~
met.cpp:8:24: note: in expansion of macro 'tm'
8 | #define rs v << 1 | 1, tm + 1, tr
| ^~
met.cpp:39:29: note: in expansion of macro 'rs'
39 | return get(r, ls) + get(r, rs);
| ^~
met.cpp: In function 'int main()':
met.cpp:73:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
73 | ll m = ansl[i] + ansr[i] >> 1;
| ~~~~~~~~^~~~~~~~~