CF2128C Leftmost Below

题目描述

考虑一个数组 $ a_1, \ldots, a_n $ 。 起初,$ a_i = 0 $ 适用于每一个 $ i $ 。 您可以进行以下形式的操作。 - 你选择一个大于 $ \min(a) $ 的整数 $ x $ . - 换句话说, $ i $ 是 $ 1 $ 和 $ n $ 之间的唯一整数, 使得 $ a_i < x $,$ a_j \geq x $ 且 $ 1 \leq j \leq i-1 $ 。 - 最后,让 $ a_i $ 加上 $x$。 例如,如果 $ a = [6, 8, 2, 1] $ 并选择 $ x = 6 $ ,那么 $ i $ 将等于 $ 3 $ (因为 $ a_1 \geq 6 $ , $ a_2 \geq 6 $ , 和 $ a_3 < 6 $ ),并且 $ a $ 将变成 $ [6, 8, 8, 1] $ 。 你可以进行任意多的操作。你能达到目标数组 $ b_1, \ldots, b_n $ 吗?

输入格式

每个测试都包含多个测试用例。第一行包含测试用例的数量 $ t\,(1 \le t \le 10\,000)$。测试用例说明如下。 每个测试用例的第一行都包含一个整数 $ n\,(2 \leq n \leq 200\,000)$。 每个测试用例的第二行包含 n 个整数 $ b_1, b_2, \ldots, b_n \, (1 \le b_i \le 10^9)$。 所有测试案例的 $ n $ 总和不超过 $ 200\,000 $。

输出格式

对于每个测试用例,如果能到达目标数组,则打印 `Yes`,否则打印 `No`。 您可以用任何大小写(大写或小写)输出答案。例如,字符串 `yEs`,`yes`,`Yes` 和 `YES` 将被识别为肯定回答。

说明/提示

在第一个测试案例中,我们可以进行以下一系列操作: - 选择 $ 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] $。