CF2199E Supersequence
题目描述
如果通过从数组 $b$ 中删除某些元素(可能全部,也可能一个都不删),可以得到数组 $a$,则称数组 $a$ 是数组 $b$ 的一个子序列。
现给定一个数组 $a = [a_1, a_2, \dots, a_n]$。我们称一个数组 $b = [b_1, b_2, \dots, b_m]$ 是“美丽的”,当且仅当:
- $a$ 是 $b$ 的子序列;
- 对于每一个 $i$,其中 $1 \le i \le m-1$,都有 $b_i$ 和 $b_{i+1}$ 的差的绝对值恰好为 $1$,即 $|b_i-b_{i+1}|=1$;
- 在所有满足上述两个条件的数组中,$b$ 的长度 $m$ 最短。
现在你需要处理 $q$ 个询问。在第 $i$ 个询问中,给定一个整数 $x_i$,请你:
- 如果 $x_i$ 大于所有美丽数组的最小长度,输出 $-1$;
- 否则,如果所有美丽数组的第 $x_i$ 个位置上的值都相同,输出该值;
- 否则,输出 $0$。
输入格式
第一行输入两个整数 $n$ 和 $q$,$1 \le n, q \le 2 \cdot 10^5$。
第二行输入 $n$ 个整数 $a_1, a_2, \dots, a_n$,$1 \le a_i \le 10^9$。
第三行输入 $q$ 个整数 $x_1, x_2, \dots, x_q$,$1 \le x_i \le 10^{18}$。
输出格式
每个查询输出一个整数,作为该查询的答案。
说明/提示
由 ChatGPT 5 翻译