U189837 二分查找 - 3

题目背景

本题数据不保证正确,所以有问题请直接问,可以给[我](https://www.luogu.com.cn/user/457659)发私信。

题目描述

给定一个长度为 $n$ 的单调不减序列 $a$ 和 $q$ 个询问,对于每次询问给定一个数 $x$,要求查找 $x$ 在序列 $a$ 中最后一个小于等于 $x$ 的数的位置,如果存在就输出其位置,否则输出 $-1$。

输入格式

第一行为两个整数 $n,q$,代表序列的长度和询问的数量。 接下来一行包含 $n$ 个数,代表序列 $a$。 接下来 $q$ 行每行包含一个整数,代表要查询的数 $x$。

输出格式

输出 $q$ 行,每行一个整数,代表查询的结果。

说明/提示

【数据范围】 对于 $30\%$ 的数据,保证 $1\leq n\leq10^3,1\leq q\leq10^3$。 对于另外 $20\%$ 的数据,保证 $0\leq a_i\leq10^6$。 对于另外 $10\%$ 的数据,保证没有重复的 $a_i$。 对于 $100\%$ 的数据,保证 $1\leq n\leq10^5,1\leq q\leq10^5,1\leq a_i\leq10^9,1\leq x\leq10^9$,**不保证**没有重复的 $a_i$。