Changes
1 changed files (+12/-2)
-
-
@@ -32,8 +32,18 @@ ret} // Query for sum between indices i and j inclusive pub fn range_query(f: &[i32], i: usize, j: usize) -> i32 { query(f, j) - query(f, i - 1) pub fn range_query(f: &[i32], mut i: usize, mut j: usize) -> i32 { let mut ret = 0; while j >= i { ret += f[j]; j -= j & j.wrapping_neg(); } i -= 1; while i > j { ret -= f[i]; i -= i & i.wrapping_neg(); } ret } // Search for largest index with prefix sum less than or equal to s
-