CF368B.Sereja and Suffixes

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Sereja and Suffixes

题目描述

Sereja 有一个长度为 nn 的整数数组 aa,其元素分别为 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n}。Sereja 觉得闲着没事做,决定来研究一下这个数组。他拿出一张纸,写下了 mm 个整数 l1,l2,,lml_{1}, l_{2}, \ldots, l_{m},其中 1lin1 \leq l_{i} \leq n。对于每一个 lil_{i},他都想知道从第 lil_{i} 个位置一直到第 nn 个位置的区间 ali,ali+1,,ana_{l_i}, a_{l_i+1}, \ldots, a_n 中,有多少个不同的数字?

由于数组太大,而且 Sereja 的时间有限,请你帮他计算每个 lil_{i} 对应的答案。

输入格式

第一行包含两个整数 nnmm,其中 1n,m1051 \leq n, m \leq 10^{5}
第二行包含 nn 个整数 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n}1ai1051 \leq a_{i} \leq 10^{5}),表示数组的元素。

接下来 mm 行,每行包含一个整数 lil_{i}1lin1 \leq l_{i} \leq n),表示第 ii 个询问。

输出格式

输出共 mm 行,第 ii 行输出对应 lil_{i} 的答案,即区间 ali,ali+1,,ana_{l_i}, a_{l_i+1}, \ldots, a_n 内不同数字的个数。

说明/提示

由 ChatGPT 5 翻译

样例

10 10
1 2 3 4 1 2 3 4 100000 99999
1
2
3
4
5
6
7
8
9
10
6
6
6
6
6
5
4
3
2
1

在线编程 IDE

建议全屏模式获得最佳体验