synchronization.cpp: In function 'void Build(int, int, int)':
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:79:22: note: in expansion of macro 'mid'
Build(x << 1, l, mid); Build(x << 1 | 1, mid + 1, r);
^~~
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:79:46: note: in expansion of macro 'mid'
Build(x << 1, l, mid); Build(x << 1 | 1, mid + 1, r);
^~~
synchronization.cpp: In function 'void _Update(int, int, int)':
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:85:16: note: in expansion of macro 'mid'
if (pos <= mid) _Update(x << 1, l, mid);
^~~
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:85:40: note: in expansion of macro 'mid'
if (pos <= mid) _Update(x << 1, l, mid);
^~~
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:86:30: note: in expansion of macro 'mid'
else _Update(x << 1 | 1, mid + 1, r);
^~~
synchronization.cpp: In function 'int _Query(int, int, int)':
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:96:67: note: in expansion of macro 'mid'
if (val[x << 1 | 1] >= threshold) x = x << 1 | 1, l = mid + 1;
^~~
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:97:31: note: in expansion of macro 'mid'
else x <<= 1, r = mid;
^~~
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:100:34: note: in expansion of macro 'mid'
return max(_Query(x << 1, l, mid), _Query(x << 1 | 1, mid + 1, r));
^~~
synchronization.cpp:75:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define mid (l + r >> 1)
~~^~~
synchronization.cpp:100:59: note: in expansion of macro 'mid'
return max(_Query(x << 1, l, mid), _Query(x << 1 | 1, mid + 1, r));
^~~