给你一个整数数组 nums。
如果 nums 的一个 子数组 中 没有逆序对 ,即不存在满足 i < j 且 nums[i] > nums[j] 的下标对,则该子数组被称为 稳定 子数组。
同时给你一个长度为 q 的 二维整数数组 queries,其中每个 queries[i] = [li, ri] 表示一个查询。对于每个查询 [li, ri],请你计算完全包含在 nums[li..ri] 内的 稳定子数组 的数量。
返回一个长度为 q 的整数数组 ans,其中 ans[i] 是第 i 个查询的答案。
注意:
示例 1:
输入:nums = [3,1,2], queries = [[0,1],[1,2],[0,2]]
输出:[2,3,4]
解释:
queries[0] = [0, 1],子数组为 [nums[0], nums[1]] = [3, 1]。
[3] 和 [1]。稳定子数组的总数为 2。queries[1] = [1, 2],子数组为 [nums[1], nums[2]] = [1, 2]。
[1]、[2] 和 [1, 2]。稳定子数组的总数为 3。queries[2] = [0, 2],子数组为 [nums[0], nums[1], nums[2]] = [3, 1, 2]。
[3]、[1]、[2] 和 [1, 2]。稳定子数组的总数为 4。因此,ans = [2, 3, 4]。
示例 2:
输入:nums = [2,2], queries = [[0,1],[0,0]]
输出:[3,1]
解释:
queries[0] = [0, 1],子数组为 [nums[0], nums[1]] = [2, 2]。
[2]、[2] 和 [2, 2]。稳定子数组的总数为 3。queries[1] = [0, 0],子数组为 [nums[0]] = [2]。
[2]。稳定子数组的总数为 1。因此,ans = [3, 1]。
提示:
1 <= nums.length <= 1051 <= nums[i] <= 1051 <= queries.length <= 105queries[i] = [li, ri]0 <= li <= ri <= nums.length - 1