给你一个整数 n,一个二维整数数组 restrictions,以及一个长度为 n - 1 的整数数组 diff。你的任务是构造一个长度为 n 的序列,记为 a[0], a[1], ..., a[n - 1],使其满足以下条件:
a[0] 为 0。i (0 <= i <= n - 2),满足 abs(a[i] - a[i + 1]) <= diff[i]。restrictions[i] = [idx, maxVal],序列中位置 idx 的值不得超过 maxVal(即 a[idx] <= maxVal)。你的目标是在满足上述所有条件的情况下,构造一个合法的序列并 最大化 该序列中的 最大 值。
返回一个整数,表示最优序列中出现的 最大 值。
示例 1:
输入: n = 10, restrictions = [[3,1],[8,1]], diff = [2,2,3,1,4,5,1,1,2]
输出: 6
解释:
a = [0, 2, 4, 1, 2, 6, 2, 1, 1, 3] 满足给定的限制条件(a[3] <= 1 且 a[8] <= 1)。示例 2:
输入: n = 8, restrictions = [[3,2]], diff = [3,5,2,4,2,3,1]
输出: 12
解释:
a = [0, 3, 3, 2, 6, 8, 11, 12] 满足给定的限制条件(a[3] <= 2)。
提示:
2 <= n <= 1051 <= restrictions.length <= n - 1restrictions[i].length == 2restrictions[i] = [idx, maxVal]1 <= idx < n1 <= maxVal <= 106diff.length == n - 11 <= diff[i] <= 10restrictions[i][0] 的值是唯一的。