AT_abc382_c [ABC382C] Kaiten Sushi
题目描述
在某家回转寿司店里,有 $N$ 个人,每个人的编号为 $1$ 到 $N$。第 $i$ 个人的**美食度**为 $A_i$。
现在有 $M$ 个寿司会依次在传送带上经过。第 $j$ 个寿司的**美味度**为 $B_j$。每个寿司都会依次经过第 $1,2,\dots,N$ 个人的面前。每个人在寿司经过自己面前时,如果该寿司的美味度不小于自己的美食度(即 $B_j \geq A_i$),就会拿下并吃掉这盘寿司,否则什么也不做。一旦第 $i$ 个人吃掉了某盘寿司,这盘寿司就不会再经过编号大于 $i$ 的人的面前。
对于每一盘寿司,请你求出是谁吃掉了它,或者没人吃掉。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$ $A_1$ $A_2$ $\dots$ $A_N$ $B_1$ $B_2$ $\dots$ $B_M$
输出格式
输出 $M$ 行。对于第 $j$ 盘寿司,如果有人吃掉了它,输出吃掉它的人的编号,否则输出 $-1$。
说明/提示
## 限制条件
- $1 \leq N, M \leq 2 \times 10^5$
- $1 \leq A_i, B_j \leq 2 \times 10^5$
- 输入均为整数
## 样例解释 1
- 对于第 $1$ 盘寿司:
- 首先经过第 $1$ 个人面前。由于 $B_1 \geq A_1$,第 $1$ 个人会拿下并吃掉这盘寿司。
- 这盘寿司不会再经过第 $2,3$ 个人面前。
- 对于第 $2$ 盘寿司:
- 首先经过第 $1$ 个人面前。由于 $B_2 < A_1$,第 $1$ 个人什么也不做。
- 接着经过第 $2$ 个人面前。由于 $B_2 < A_2$,第 $2$ 个人什么也不做。
- 最后经过第 $3$ 个人面前。由于 $B_2 \geq A_3$,第 $3$ 个人会拿下并吃掉这盘寿司。
- 对于第 $3$ 盘寿司:
- 首先经过第 $1$ 个人面前。由于 $B_3 < A_1$,第 $1$ 个人什么也不做。
- 接着经过第 $2$ 个人面前。由于 $B_3 < A_2$,第 $2$ 个人什么也不做。
- 最后经过第 $3$ 个人面前。由于 $B_3 < A_3$,第 $3$ 个人什么也不做。
- 因此,这盘寿司没人吃掉。
由 ChatGPT 4.1 翻译