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 $ 加上 xx。

例如,如果 $ 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测评打分。不知道怎么写?

首页