/in/foo.cc: In member function 'void heap::push(int)':
/in/foo.cc:14:6: warning: operation on 'i' may be undefined [-Wsequence-point]
h[i>>=1]^=h[i]^=h[i>>1]^=h[i];
~^~~~
/in/foo.cc: In member function 'void heap::pop()':
/in/foo.cc:20:30: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
for(h[i=1]=h[p--];t^p+1;h[i=t]^=h[i]^=h[t]^=h[i])
~^~
/in/foo.cc:20:36: warning: operation on 'i' may be undefined [-Wsequence-point]
for(h[i=1]=h[p--];t^p+1;h[i=t]^=h[i]^=h[t]^=h[i])
~^~
/in/foo.cc:21:14: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
t=(i<<1)+1<=p&h[(i<<1)+1]<h[i]&h[(i<<1)+1]<h[i<<1]?(i<<1)+1:i<<1<=p && h[i<<1]<h[i]?i<<1:i=p+1;
~~~~~~~~^~~
/in/foo.cc:21:46: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
t=(i<<1)+1<=p&h[(i<<1)+1]<h[i]&h[(i<<1)+1]<h[i<<1]?(i<<1)+1:i<<1<=p && h[i<<1]<h[i]?i<<1:i=p+1;
~~~~~~~~~~~^~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:26:8: warning: unused variable 'j' [-Wunused-variable]
int i,j,n,a,b,js=0;
^