(self,ind,low,high,l,r)
| 25 | self.seg[ind]=max(self.seg[2*ind+1],self.seg[2*ind+2]) |
| 26 | |
| 27 | def query(self,ind,low,high,l,r): # [l,r] = query range |
| 28 | if l<=low and high<=r: # if s range is completely inside q range |
| 29 | return self.seg[ind] |
| 30 | if high<l or r<low: # if s range is completely outside q range |
| 31 | return -float('inf') # changes |
| 32 | mid=(low+high)//2 |
| 33 | left=self.query(2*ind+1,low,mid,l,r) |
| 34 | right=self.query(2*ind+2,mid+1,high,l,r) |
| 35 | return max(left,right) # changes |
| 36 | |
| 37 | |
| 38 | t=SegmentTree([2,3,1,4,0,7,4,9,3,0]) |