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 翻译