int countRangeSum(vector<int>& nums, int lower, int upper) { Tree tree; tree.Insert(0); long long sum = 0; int res = 0; for (int n : nums) { sum += n; int lcnt = tree.LessThan(sum, lower); int hcnt = tree.LessThan(sum, upper + 1); res += (hcnt - lcnt); tree.Insert(sum); } return res; }