3
vector<int> prefix_sum;4
vector<vector<int>> rects_vec;7
Solution(vector<vector<int>> &rects) {9
for (int i = 0; i < rects.size(); ++i) {10
cur += (rects[i][2] - rects[i][0] + 1) * (rects[i][3] - rects[i][1] + 1);11
prefix_sum.push_back(cur);18
int l = 0, r = prefix_sum.size() - 1, mid = 0;19
int rand_num = rand();20
int target = (rand_num % total) + 1;23
mid = l + (r - l) / 2;24
if (prefix_sum[mid] < target)30
return {rand_num % (rects_vec[l][2] - rects_vec[l][0] + 1) + rects_vec[l][0],31
rand_num % (rects_vec[l][3] - rects_vec[l][1] + 1) + rects_vec[l][1]};