查询最大值时要将 ansansans 赋为极小值。
ll query2(int p,int l,int r){ if(l<=l(p) && r(p)<=r) return mx(p); down(p); int mid=(l(p)+r(p))>>1; ll ans=-INF;//!!! if(l<=mid) ans=max(ans,query2(p<<1,l,r)); if(mid<r) ans=max(ans,query2(p<<1|1,l,r)); return ans; }