CF2031D.Penchick and Desert Rabbit

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

为了挑战自己的极限,Penchick 决定在阿拉伯沙漠的正午阳光下生存!

在沿着一条线性绿洲跋涉时,Penchick 看到一只沙漠兔子正准备在一排棕榈树之间跳跃。有 nn 棵树,每棵树的高度为 aia_i。

兔子可以在满足下列某一条件时,从第 ii 棵树跳到第 jj 棵树:

  • 当 j<ij < i 且 aj>aia_j > a_i 时:兔子可以向后跳到更高的树。
  • 当 j>ij > i 且 aj<aia_j < a_i 时:兔子可以向前跳到更矮的树。

对于每个 ii(1≤i≤n1 \leq i \leq n),请你求出如果兔子从第 ii 棵树出发,能够到达的所有树中高度的最大值。

输入格式

第一行包含一个整数 tt(1≤t≤5⋅1051 \leq t \leq 5 \cdot 10^5),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤5⋅1051 \leq n \leq 5 \cdot 10^5),表示树的数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \leq a_i \leq n),表示每棵树的高度。

保证所有测试用例中 nn 的总和不超过 5⋅1055 \cdot 10^5。

输出格式

对于每个测试用例,输出 nn 个整数,第 ii 个整数表示如果兔子从第 ii 棵树出发,能够到达的所有树中高度的最大值。

输入输出样例

  • 输入#1

    5
    4
    2 3 1 4
    5
    5 4 3 2 1
    4
    2 1 1 3
    4
    1 1 3 1
    8
    2 4 1 6 3 8 5 7

    输出#1

    3 3 3 4 
    5 5 5 5 5 
    2 2 2 3 
    1 1 3 3 
    8 8 8 8 8 8 8 8

说明/提示

在第一个测试用例中,初始树的高度为 a=[2,3,1,4]a = [2, 3, 1, 4]。

  • 如果兔子从第一棵树出发,可以跳到第三棵树,因为 3>13 > 1 且 1<21 < 2。然后,兔子可以跳到第二棵树,因为 2<32 < 3 且 3>13 > 1。可以证明兔子无法到达第四棵树,因此能够到达的最大高度为 a2=3a_2 = 3。
  • 如果兔子从第四棵树出发,由于它已经在最高的树上,无需跳跃。

在第二个测试用例中,无论兔子从哪棵树出发,都可以跳到第一棵树。

在第五个测试用例中,如果兔子从第五棵树出发,可以跳到第四棵树,然后跳到第七棵树,最后到达第六棵树。因此,能够到达的最大高度为 88。

由 ChatGPT 4.1 翻译

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

首页