/in/foo.cc: In function 'void pd(int)':
/in/foo.cc:46:69: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if(en[x]){gaien(c[x][0],all[x]);gaien(c[x][1],all[x]);en[x]=all[x]=0;}upt(x);
~~~~~~^~
/in/foo.cc: In function 'void rotate(int)':
/in/foo.cc:52:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(z)c[z][c[z][1]==y]=x;fa[x]=z;
^~
/in/foo.cc:52:27: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
if(z)c[z][c[z][1]==y]=x;fa[x]=z;
^~
/in/foo.cc: In function 'void huishou(int)':
/in/foo.cc:74:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(c[x][0])huishou(c[x][0]);if(c[x][1])huishou(c[x][1]);
^~
/in/foo.cc:74:31: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
if(c[x][0])huishou(c[x][0]);if(c[x][1])huishou(c[x][1]);
^~
/in/foo.cc:75:70: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
c[x][0]=c[x][1]=sum[x]=lx[x]=rx[x]=mx[x]=en[x]=all[x]=tag[x]=sze[x]=fa[x]=v[x]=0;
~~~~~~^~~~~~~~~~~~~
/in/foo.cc:75:56: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
c[x][0]=c[x][1]=sum[x]=lx[x]=rx[x]=mx[x]=en[x]=all[x]=tag[x]=sze[x]=fa[x]=v[x]=0;
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc: In function 'int getmax(int)':
/in/foo.cc:109:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(!x)return -inf;pd(x);int tmp=v[x];if(!tmp)tmp=-inf;
^~
/in/foo.cc:109:21: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
if(!x)return -inf;pd(x);int tmp=v[x];if(!tmp)tmp=-inf;
^~
/in/foo.cc: In function 'void build(int, int, int&)':
/in/foo.cc:122:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid=l+r>>1;
~^~
/in/foo.cc:123:59: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
sum[x]=v[x]=a[mid];sze[x]=1;c[x][0]=c[x][1]=en[x]=all[x]=tag[x]=0;
~~~~~~^~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:133:3: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(int i=1;i<=n;i++)a[i]=read();a[0]=0;a[n+1]=0;build(0,n+1,root);
^~~
/in/foo.cc:133:36: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'
for(int i=1;i<=n;i++)a[i]=read();a[0]=0;a[n+1]=0;build(0,n+1,root);
^