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:44:27: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
44 | int mid = nd[p].L + nd[p].R >> 1;
| ~~~~~~~~^~~~~~~~~
foo.cc: In function 'int main()':
foo.cc:53:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
53 | scanf("%d %d", &n, &q);
| ~~~~~^~~~~~~~~~~~~~~~~
foo.cc:62:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
62 | scanf("%d", &op);
| ~~~~~^~~~~~~~~~~
foo.cc:66:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
66 | scanf("%d %d %d", &l, &r, &v);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:70:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
70 | scanf("%d %d", &x, &v);
| ~~~~~^~~~~~~~~~~~~~~~~
foo.cc:77:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
77 | scanf("%d", &x);
| ~~~~~^~~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务