CF2128C.Leftmost Below
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
考虑一个数组 $ 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 将被识别为肯定回答。
输入输出样例
输入#1
4 4 5 6 1 1 3 3 1 2 3 40 60 90 2 1 1
输出#1
YES NO NO 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] $。
输入解题思路,AI测评打分。不知道怎么写?