/in/foo.cc: In function 'void build(int, int, int)':
/in/foo.cc:17:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
} int mid = l + r >> 1;
~~^~~
/in/foo.cc: In function 'void modify(int, int, int, int, int)':
/in/foo.cc:25:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
} int mid = l + r >> 1;
~~^~~
/in/foo.cc: In function 'node ask(int, int, int, int, int)':
/in/foo.cc:31:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid = l + r >> 1;
~~^~~
/in/foo.cc:35:31: warning: 't2.node::l' may be used uninitialized in this function [-Wmaybe-uninitialized]
t3.l = max(t1.l, t1.s + t2.l); t3.ans = max(t3.ans, t1.ans);
~~~~~^~~~~~
/in/foo.cc:35:31: warning: 't2.node::l' may be used uninitialized in this function [-Wmaybe-uninitialized]
t3.l = max(t1.l, t1.s + t2.l); t3.ans = max(t3.ans, t1.ans);
~~~~~^~~~~~
/in/foo.cc:40:14: warning: 't3.node::r' may be used uninitialized in this function [-Wmaybe-uninitialized]
} return t3;
^~
/in/foo.cc:39:47: warning: 't3.node::l' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(x <= mid)t3.ans = max(t3.ans, t1.r + t2.l);
~~~~~^~~~~~
/in/foo.cc:40:14: warning: 't3.node::l' may be used uninitialized in this function [-Wmaybe-uninitialized]
} return t3;
^~
/in/foo.cc: In function 'int main()':
/in/foo.cc:35:31: warning: 't2.node::l' may be used uninitialized in this function [-Wmaybe-uninitialized]
t3.l = max(t1.l, t1.s + t2.l); t3.ans = max(t3.ans, t1.ans);
~~~~~^~~~~~
/in/foo.cc:32:14: note: 't2.node::l' was declared here
node t1, t2, t3; t3.s = 0; t3.ans = -0x3f3f3f3f;
^~
/in/foo.cc:39:47: warning: 't3.node::l' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(x <= mid)t3.ans = max(t3.ans, t1.r + t2.l);
~~~~~^~~~~~
/in/foo.cc:32:18: note: 't3.node::l' was declared here
node t1, t2, t3; t3.s = 0; t3.ans = -0x3f3f3f3f;
^~