#H0016. Jiang学长的WF之路(十四)

Jiang学长的WF之路(十四)

题目背景

请学习lower_bound与upper_bound EC-Final 的比赛正式打响!随着比赛的进行,各个队伍都在疯狂过题。Jiangrc 学长的队伍刚刚解决了一道难题,由于过度消耗脑力,他急需做一道难度适中的题目来“回血”。

队友通过某种神秘力量(其实是偷看榜单加上知乎上的预测帖),得到了题库中所有待做题目的难度评估值,并且已经将其从小到大排序。

Jiangrc 学长每次会给出一个“期望回血难度” xx,他希望队友能瞬间告诉他,题库中第一道难度不低于 xx 的题目是第几题,以便他快速去开题。

题目描述

给定一个长度为 nn 的非降序整数数组 AA,表示排好序的题目难度值(数组下标从 11 开始)。 接下来有 qq 次询问,每次询问给定一个目标难度值 xx。 对于每次询问,你需要输出数组中第一个满足 AixA_i \ge x 的元素下标 ii。如果所有题目的难度都小于 xx,请输出 -1

输入格式

第一行包含两个正整数 nnqq1n,q1051 \le n, q \le 10^5),分别表示题目的数量和询问的次数。 第二行包含 nn 个整数 A1,A2,,AnA_1, A_2, \dots, A_n1Ai1091 \le A_i \le 10^9),保证数组非降序排列。 接下来 qq 行,每行包含一个整数 xx1x1091 \le x \le 10^9),表示每次询问的期望难度。

输出格式

输出共 qq 行,每行一个整数,表示对应询问的答案。

样例

5 3
1 3 5 5 8
4
5
10
3
3
-1

样例解释

第一次询问寻找 4\ge 4 的数,第一个满足的是下标 33 的数(55)。 第二次询问寻找 5\ge 5 的数,第一个满足的也是下标 33 的数(55)。 第三次询问寻找 10\ge 10 的数,数组中没有满足条件的数,输出 -1。