/in/foo.cc: In function 'void update(int&, int, int, int, int, int)':
/in/foo.cc:21:11: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid=l+r>>1;ls[y]=ls[x];rs[y]=rs[x];
~^~
/in/foo.cc: In function 'int update(int, int)':
/in/foo.cc:27:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(int i=x;i<=n;i+=i&-i) update(c[i],c[i],-inf,inf,A[x],-1);A[x]=v;
^~~
/in/foo.cc:27:63: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'
for(int i=x;i<=n;i+=i&-i) update(c[i],c[i],-inf,inf,A[x],-1);A[x]=v;
^
/in/foo.cc:29:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
/in/foo.cc: In function 'int query(int, int)':
/in/foo.cc:40:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
/in/foo.cc: In function 'int ask(int)':
/in/foo.cc:44:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int ss=0,mid=l+r>>1;
~^~