foo.cc: In member function 'void tree::build(int, int, int)':
foo.cc:19:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
19 | int mid = L + R >> 1;
| ~~^~~
foo.cc: In member function 'void tree::modify(int, int, int, int)':
foo.cc:29:27: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
29 | int mid = nd[p].L + nd[p].R >> 1;
| ~~~~~~~~^~~~~~~~~
foo.cc: In member function 'void tree::query(int, int)':
foo.cc:42:27: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
42 | int mid = nd[p].L + nd[p].R >> 1;
| ~~~~~~~~^~~~~~~~~
foo.cc: In function 'int main()':
foo.cc:51:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
51 | scanf("%d %d", &n, &q);
| ~~~~~^~~~~~~~~~~~~~~~~
foo.cc:60:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
60 | scanf("%d", &op);
| ~~~~~^~~~~~~~~~~
foo.cc:64:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
64 | scanf("%d %d %d", &l, &r, &v);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:68:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
68 | scanf("%d %d", &x, &v);
| ~~~~~^~~~~~~~~~~~~~~~~
foo.cc:71:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
71 | scanf("%d", &x);
| ~~~~~^~~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务