该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
问题描述
考虑一个数组 a1,…,an 。最初,每个 i 都有 ai=0 。
你可以进行以下形式的运算。
- 选择一个大于 min(a) 的整数 x 。
- 那么, i 就被定义为 ai<x 的最小下标。换句话说, i 是介于 1 和 n 之间的唯一整数,使得每个 1≤j≤i−1 都有 ai<x 和 aj≥x 。
- 最后, ai+=x 。
例如,如果 a=[6,8,2,1] 选择了 x=6 ,那么 i 就等于 3 (因为 a1≥6 、a2≥6 和 a3<6 ), a
就变成了 [6,8,8,1] 。
你可以进行任意多的操作。你能找到目标数组 b1,…,bn 吗?
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t ( 1≤t≤10000 )。测试用例说明如下。
每个测试用例的第一行都包含一个整数 n ( 2≤n≤200000 )。
每个测试用例的第二行包含 n 个整数 b1,b2,…,bn ( 1≤bi≤109 )。
所有测试用例中 n 的总和不超过 200000 。
输出格式
对于每个测试用例,如果能到达目标数组,则打印 YES,否则打印 NO。
样例输入
4
4
5 6 1 1
3
3 1 2
3
40 60 90
2
1 1
样例输出
YES
NO
NO
YES