CF368B Sereja and Suffixes
题目描述
Sereja 有一个长度为 $n$ 的整数数组 $a$,其元素分别为 $a_{1}, a_{2}, \ldots, a_{n}$。Sereja 觉得闲着没事做,决定来研究一下这个数组。他拿出一张纸,写下了 $m$ 个整数 $l_{1}, l_{2}, \ldots, l_{m}$,其中 $1 \leq l_{i} \leq n$。对于每一个 $l_{i}$,他都想知道从第 $l_{i}$ 个位置一直到第 $n$ 个位置的区间 $a_{l_i}, a_{l_i+1}, \ldots, a_n$ 中,有多少个不同的数字?
由于数组太大,而且 Sereja 的时间有限,请你帮他计算每个 $l_{i}$ 对应的答案。
输入格式
第一行包含两个整数 $n$ 和 $m$,其中 $1 \leq n, m \leq 10^{5}$。
第二行包含 $n$ 个整数 $a_{1}, a_{2}, \ldots, a_{n}$($1 \leq a_{i} \leq 10^{5}$),表示数组的元素。
接下来 $m$ 行,每行包含一个整数 $l_{i}$($1 \leq l_{i} \leq n$),表示第 $i$ 个询问。
输出格式
输出共 $m$ 行,第 $i$ 行输出对应 $l_{i}$ 的答案,即区间 $a_{l_i}, a_{l_i+1}, \ldots, a_n$ 内不同数字的个数。
说明/提示
由 ChatGPT 5 翻译