#BSRCH03. 下一班车

下一班车

题目描述

某站点有 nn 个车次,发车时刻 a1,a2,…,ana_1,a_2,\ldots,a_n 按非递减顺序排列,多个车次可以在同一时刻发车。车次按输入顺序从 11 到 nn 编号。

对于每次查询时刻 tt,只考虑发车时刻严格晚于 tt 的车次,输出其中编号最小的车次。恰好在 tt 时刻发车的车次不符合条件。

如果没有符合条件的车次,输出 −1-1。所有查询彼此独立,时刻均用同一时间轴上的整数表示。

输入格式

第一行包含两个整数 n,qn,q,表示车次数量和查询次数。

第二行包含 nn 个非递减排列的整数,表示发车时刻。

接下来 qq 行,每行一个整数 tt,表示查询时刻。

输出格式

输出 qq 行,每行一个车次编号;不存在时输出 −1-1。

4 5
10 20 20 40
20
0
10
39
40
4
1
2
4
-1
3 3
0 0 0
0
1
1000000000
-1
-1
-1

样例 1 解释

查询 20 时,两班在 20 发车的车都不符合条件,答案是编号 4;查询 10 时,编号 2、3 都符合,选择编号较小的 2。查询 40 时,没有更晚的车。

样例 2 解释

全部车次都在时刻 0 发车,因此三次查询都找不到严格更晚的车次。

数据范围与提示

对于所有数据,1≤n,q≤2000001\le n,q\le 200000,0≤ai,t≤1090\le a_i,t\le 10^9。保证发车时刻非递减。

共 2020 个测试点,每个测试点 55 分,按测试点独立计分,总分 100100 分。

测试点 规模限制
1—5 n,q≤20n,q\le 20
6—10 n,q≤2000n,q\le 2000
11—15 n,q≤50000n,q\le 50000
16—20 n,q≤200000n,q\le 200000

表中的规模限制只限制对应参数的上界,所有测试点同时满足上述完整数据范围。

时间限制:2 秒。内存限制:128 MiB。