E. 【入门】数组转换

    传统题 100ms 64MiB

【入门】数组转换

比赛已经结束。新提交将被视为补题提交,不计入比赛成绩。

【入门】数组转换

给你一个 11 个长度为 nn 的数组 aa,初始 aa 里的数都为 0,你可以对 aa 进行如下操作任意次数(包括 00 次):

  • 1、首先选择一个 大于 aa 中最小值的数 xx,即 x>min_element(a)x > min\_element(a)
  • 2、在 aa 中从左往右开始,找到第 11小于 xx 的数 aia_i
  • 3、将 aia_i 变为 ai+xa_i + x

比如:

  • 假设 a=[6,8,2,1]a = [6, 8, 2, 1],我们选择 x=6x=6
  • 那么第 11小于 6 的数是 a3=2a_3=2
  • 所以 a3a_3 会变为 2+6=82 + 6 = 8,最后 aa 变为 a=[6,8,8,1]a = [6, 8, 8, 1]

请问,能否通过上面的操作,将数组 aa 变为给定的数组 bb

输入格式

第一行输入一个整数 T(1T1000)T \left(1 \le T \le 1000 \right) 代表数据组数

每组数据的第 11 行包含 22 个正整数 nn

每组数据的第 22 行包含 nn 个正整数,表述数组 bb;

输出格式

对于每组数据输出一行,

如果可以将数组 aa 变为数组 bb,那么输出 YES;否则输出 NO

4
4
5 6 1 1
3
3 1 2
3
40 60 90
2
1 1
YES
NO
NO
YES

提示

【样例 1 解释】

  • 样例 1,我们可以进行以下一系列操作:
    • 选择 x=2x=2, aa 变为 [2,0,0,0][2, 0, 0, 0]
    • 选择 x=2x=2, aa 变为 [2,2,0,0][2, 2, 0, 0]
    • 选择 x=3x=3, aa 变为 [5,2,0,0][5, 2, 0, 0]
    • 选择 x=4x=4, aa 变为 [5,6,0,0][5, 6, 0, 0]
    • 选择 x=1x=1, aa 变为 [5,6,1,0][5, 6, 1, 0]
    • 选择 x=1x=1, aa 变为 [5,6,1,1][5, 6, 1, 1]

【数据范围】

  • 1T1041 \le T \le 10^4
  • 1n2×1051 \le n \le 2 \times 10^5
  • 0bi1090 \le b_i \le 10^9
  • 单组数据中 nn 的总和不超过 2×1052 \times 10^5
请思考后再点击查看提示