Data Structures19 sections · 729 units
Open in Course

Problem - Count of Range Sum

Coordinate compression

Given an integer array nums and two integers lower and upper, return the number of range sums that lie in [lower,upper][\text{lower}, \text{upper}] inclusive.

Range sum S(i,j)S(i, j) is the sum of elements from index ii to jj where i≤ji \leq j. Example: nums =[−2,5,−1]= [-2, 5, -1], lower =−2= -2, upper =2= 2. Range sums: −2,3,2,5,4,−1-2, 3, 2, 5, 4, -1.

In range: −2,2,−1-2, 2, -1. Answer: 33. This you can solve with segment tree + coordinate compression on prefix sums. Constraints: up to 10510^5 elements, values up to 10910^9.