@@ -100,12 +100,10 @@ def query(self, node: Node, start_index: int, end_index: int, start: int, end: i
100100 elif start_index > mid :
101101 # Entire range is in the right child
102102 return self .query (node .right , start_index , end_index , mid + 1 , end )
103+ elif self .mode == 'max' :
104+ return max (self .query (node .left , start_index , end_index , start , mid ), self .query (node .right , start_index , end_index , mid + 1 , end ))
103105 else :
104- # Range spans both children
105- if self .mode == 'max' :
106- return max (self .query (node .left , start_index , end_index , start , mid ), self .query (node .right , start_index , end_index , mid + 1 , end ))
107- else :
108- return self .query (node .left , start_index , end_index , start , mid ) + self .query (node .right , start_index , end_index , mid + 1 , end )
106+ return self .query (node .left , start_index , end_index , start , mid ) + self .query (node .right , start_index , end_index , mid + 1 , end )
109107
110108 def update (self , index : int , new_value : int ) -> int :
111109 """
0 commit comments