grow.cpp: In function 'int get_idx(int, int, int, int)':
grow.cpp:13:51: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
if(T[p<<1] > v - L[p]) return get_idx(p<<1, s, (s+e>>1), v - L[p]);
~^~
grow.cpp:14:32: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
else return get_idx(p<<1|1, (s+e>>1)+1, e, v - L[p]);
~^~
grow.cpp: In function 'int get_val(int, int, int, int)':
grow.cpp:21:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
if(v <= (s+e>>1)) return get_val(p<<1, s, (s+e>>1), v) + L[p];
~^~
grow.cpp:21:46: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
if(v <= (s+e>>1)) return get_val(p<<1, s, (s+e>>1), v) + L[p];
~^~
grow.cpp:22:32: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
else return get_val(p<<1|1, (s+e>>1)+1, e, v) + L[p];
~^~
grow.cpp: In function 'void grow(int, int, int, int, int)':
grow.cpp:33:18: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
grow(p<<1, s, (s+e>>1), l, r);
~^~
grow.cpp:34:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
grow(p<<1|1, (s+e>>1)+1, e, l, r);
~^~
grow.cpp: In function 'int main()':
grow.cpp:44:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &n, &q);
~~~~~^~~~~~~~~~~~~~~~
grow.cpp:49:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", A+i);
~~~~~^~~~~~~~~~~
grow.cpp:59:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%s%d%d", str, &a, &b);
~~~~~^~~~~~~~~~~~~~~~~~~~~~~
grow.cpp:13:17: warning: 'v' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(T[p<<1] > v - L[p]) return get_idx(p<<1, s, (s+e>>1), v - L[p]);
~~^~~~~~
grow.cpp:41:18: note: 'v' was declared here
int i, q, a, b, v, l, r;
^