CF2126C.I Will Definitely Make It

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 nn 座塔,编号从 11 到 nn。第 ii 座塔的高度为 hih_i。在时间 00 时,你位于编号为 kk 的塔上,此时水位为 11。

每秒水位上升 11 单位。任何时刻,如果你所在塔的高度严格小于当前水位,你就会被淹没。

你有一种魔法能力:在时刻 xx,你可以开始从第 ii 座塔传送到第 jj 座塔,传送需要花费 ∣hi−hj∣|h_i - h_j| 秒。也就是说,在 x+∣hi−hj∣x + |h_i - h_j| 时刻之前,你都停留在第 ii 座塔上,到 x+∣hi−hj∣x + |h_i - h_j| 时刻你会到达第 jj 座塔。你可以在刚到达第 jj 座塔的同一时刻再次开始新的传送。

例如,如果 n=k=4n=k=4,h=[4,4,4,2]h=[4, 4, 4, 2],那么如果你在时刻 00 从第 44 座塔开始传送到第 11 座塔,移动过程如下图所示:

注意,如果第 11 座塔的高度是 55,你就无法立即传送到它,因为在时刻 22 你就会被淹没。

你的目标是在被水淹没之前,抵达任意一座最高的塔。

请判断是否可以做到。

输入格式

每组测试数据包含若干组测试用例。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的组数。接下来是每组测试用例的描述。

每组测试用例的第一行包含两个整数 nn 和 kk(1≤k≤n≤1051 \le k \le n \le 10^5),分别表示塔的数量和你初始所在塔的编号。

第二行包含 nn 个整数 h1,h2,…,hnh_1, h_2, \dots, h_n(1≤hi≤1091 \le h_i \le 10^9),表示每座塔的高度。

保证所有测试用例中 nn 的总和不超过 10510^5。

输出格式

对于每组测试用例,输出一行,如果你能在被水淹没前到达最高的塔,输出 "YES";否则输出 "NO"。

你可以用任意大小写输出答案(如 "yEs"、"yes"、"Yes"、"YES" 都是正确的)。

输入输出样例

  • 输入#1

    5
    5 3
    3 2 1 4 5
    3 1
    1 3 4
    4 4
    4 4 4 2
    6 2
    2 3 6 9 1 2
    4 2
    1 2 5 6

    输出#1

    YES
    NO
    YES
    YES
    NO

说明/提示

在第一个测试用例中,唯一可行的路径为:3→2→1→4→53 \rightarrow 2 \rightarrow 1 \rightarrow 4 \rightarrow 5。

在第二个测试用例中,无论顺序如何,都无法到达最高的塔。

在第三个测试用例中,其中一种可行路径为:4→14 \rightarrow 1。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页