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 翻译