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:23:8: note: in expansion of macro 'ls'
23 | 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:24:8: note: in expansion of macro 'rs'
24 | 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:32:13: note: in expansion of macro 'tm'
32 | 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:32:31: note: in expansion of macro 'ls'
32 | 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:33:21: note: in expansion of macro 'rs'
33 | 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:40:16: note: in expansion of macro 'ls'
40 | 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:40:29: note: in expansion of macro 'rs'
40 | return get(r, ls) + get(r, rs);
| ^~
met.cpp: In function 'int main()':
met.cpp:74:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
74 | ll m = ansl[i] + ansr[i] >> 1;
| ~~~~~~~~^~~~~~~~~