161. 数的范围
时间限制:1000 MS 内存限制:64 MB
题目描述
# 数的范围 ## 题目描述 给定一个长度为 $n$ 的整数数组 $a$,数组中的元素按非递减顺序排列,允许出现重复元素。 你需要回答 $q$ 次查询。对于每次查询给定的整数 $k$,输出它在数组中首次出现和末次出现的位置。数组下标从 $0$ 开始,即下标范围为 $0$ 到 $n-1$。 如果数组中不存在 $k$,则输出 `-1 -1`。 ## 输入格式 从文件 `range.in` 中读入数据。 第一行包含两个整数 $n$ 和 $q$,分别表示数组长度和查询次数。 第二行包含 $n$ 个整数 $a_0,a_1,\ldots,a_{n-1}$,表示按非递减顺序排列的数组。 接下来 $q$ 行,每行包含一个整数 $k$,表示本次查询的元素。 ## 输出格式 将结果输出到文件 `range.out` 中。 共输出 $q$ 行,按输入顺序依次回答每次查询。 每行输出两个整数,用一个空格分隔: - 如果数组中存在 $k$,输出它首次出现和末次出现的下标。 - 如果数组中不存在 $k$,输出 `-1 -1`。 ## 数据范围 - $1 \le n \le 100000$。 - $1 \le q \le 10000$。 - $1 \le a_i \le 10000$,其中 $0 \le i < n$。 - $1 \le k \le 10000$。 - 数组按非递减顺序排列,即 $a_i \le a_{i+1}$,其中 $0 \le i < n-1$。 ## 样例输入 ``` 6 3 1 2 2 3 3 4 3 4 5 ``` ## 样例输出 ``` 3 4 5 5 -1 -1 ``` ## 资源限制 - 时间限制:$1000$ 毫秒。 - 内存限制:$64$ MB。