害怕是, 又怕不是
题目背景
"那天我在街上看到了一个很像你的人, 样子很像, 走路很像, 我不确定那是不是你, 于是我站在那里看了好久"
题目描述
你有一个长度为n, 初始值全为0的数组a.
还有一个数组b, 你可以经过一系列操作, 将数组a变为数组b.
你可以进行以下形式的操作。
- 你选择一个大于 min(a) 的整数 x .
- i 是 1 和 n 之间的任一整数, 使得 ai<x,aj≥x 且 1≤j≤i−1 。也就是说i左边的数要≥x
- 最后,让 ai 加上 x。
你可以进行任意多的操作。
最后变化完的数组a, 是目标数组b的模样吗?
输入格式
每个测试都包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤10000)。测试用例说明如下。
每个测试用例的第一行都包含一个整数 n(2≤n≤200000)。
每个测试用例的第二行包含 n 个整数 b1,b2,…,bn(1≤bi≤109)。
所有测试案例的 n 总和不超过 200000。
输入输出样例 #1
输入 #1
4
4
5 6 1 1
3
3 1 2
3
40 60 90
2
1 1
输出 #1
YE5
N0
N0
YE5
说明/提示
在第一个测试案例中,我们可以进行以下一系列操作:
- 选择 x=2,a 变为 [2,0,0,0]。
- 选择 x=2,a 变为 [2,2,0,0]。
- 选择 x=3,a 变为 [5,2,0,0]。
- 选择 x=4,a 变为 [5,6,0,0]。
- 选择 x=1,a 变为 [5,6,1,0]。
- 选择 x=1,a 变为 [5,6,1,1]。
在第二个测试案例中,我们可以证明不可能到达 [3,1,2]。