CF474E Pillars
题目描述
土拨鼠发现了一排有 $n$ 根柱子,第 $i$ 根柱子的高度为 $h_{i}$ 米。土拨鼠从某一根柱子 $i_{1}$ 出发,想要依次跳到柱子 $i_{2}$,...,$i_{k}$ 上(满足 $1 \leq i_{1} < i_{2} < ... < i_{k} \leq n$)。土拨鼠可以从第 $i$ 根柱子跳到第 $j$ 根柱子,当且仅当 $i < j$ 且 $|h_i - h_j| \geq d$,其中 $|x|$ 表示 $x$ 的绝对值。
现在土拨鼠想让你帮他找出一条跳跃序列,使得序列长度最大,并输出这条序列。
输入格式
第一行包含两个整数 $n$ 和 $d$,其中 $1 \leq n \leq 10^5$,$0 \leq d \leq 10^9$。
第二行包含 $n$ 个数 $h_1, h_2, ..., h_n$,其中 $1 \leq h_i \leq 10^{15}$。
输出格式
第一行输出一个整数 $k$,表示跳跃序列的最大长度。
第二行输出 $k$ 个整数 $i_1, i_2, ..., i_k$,表示该最大长度跳跃序列中柱子的下标(满足 $1 \leq i_1 < i_2 < ... < i_k \leq n$)。
如果存在多条最大长度的跳跃序列,输出任意一条即可。
说明/提示
在第一个样例中,土拨鼠选择了第 $1, 2, 3, 5$ 根柱子,高度分别为 $1, 3, 6, 4$。另一种长度为 $4$ 的跳跃序列是 $1, 2, 4, 5$。
由 ChatGPT 5 翻译