运输规划
题目背景
你需要规划卡车的运输方案,为了让您更好地解决问题,**请仔细阅读题面。**
题目描述
有 $n$ 个城市,对于任意 $1 < i \leq n$ 满足第 $i$ 个城市与第 $i-1$ 个城市间有一条双向的道路,每个城市有一个对卡车高度的限制 $h_i$,代表只有高度小于等于 $h_i$ 的卡车可以从这个城市经过,现在有 $m$ 个城市 $S_{1},S_{2},...,S_{m}$ 各有**恰好**一个运输任务,任务要求**编号为 $i$ 且高度为 $h_{S_{i}}$ 的**卡车从城市 $S_{i}$ 出发**到达**任意一个有机场的城市,而有 $m$ 个城市有机场,分别为 $T_{1},T_{2},...,T_{m}$,对于一个合法的运输方案而言,需要保证每个卡车都到达一个机场且每个机场**恰好**有一辆卡车**抵达**。一个机场**可以**同时被多辆卡车**经过**。请注意,如果你无法经过某个城市,那么你也无法抵达这个城市。
记 $c_i$ 表示抵达位于城市 $T_i$ 的机场的的**卡车编号**,令数组 $F = \{c_1,c_2,...,c_m\}$,请你最小化 $F$ 的字典序并输出 $F$。
我们定义两个长度为 $len$ 的数组 $A,B$ 满足 $A$ 的字典序小于 $B$ 当且仅当存在 $0 \leq i < len$ 满足对于任意 $1 \leq j \leq i$ 满足 $A_j = B_j$ 且 $A_{i+1} < B_{i+1}$。
数据保证有解,保证**所有 $h_i$ 互不相同**,所有 $T_i$ 互不相同,所有 $S_i$ 互不相同。但是**可能会**存在 $i,j$ 满足 $S_i = T_j$。
输入输出格式
输入格式
第一行两个数 $n,m$。
接下来一行 $n$ 个数表示 $h_1,h_2,...,h_n$。
再接下来一行 $m$ 个数表示 $S_{1},S_{2},...,S_{m}$。
再接下来一行 $m$ 个数表示 $T_{1},T_{2},...,T_{m}$。
输出格式
输出一行 $m$ 个数表示 $F$。
输入输出样例
输入样例 #1
10 3
1 2 3 5 4 10 8 6 7 9
1 2 8
6 10 3
输出样例 #1
1 3 2
输入样例 #2
20 5
12 13 14 15 16 17 18 19 20 22 21 30 29 28 27 26 23 24 25 1
1 20 2 5 3
10 12 11 9 13
输出样例 #2
1 2 3 4 5
说明
**本题采用捆绑测试**。
| 子任务编号 | 特殊性质 | 分值 |
| :-----------: | :-----------: | :-----------: |
| $1$ | $n,m \leq 50$ | $10$ |
| $2$ | 对于任意 $1 < i \leq n$ 满足 $h_i < h_{i-1}$ | $25$ |
| $3$ | $n,m \leq 10^3$ | $25$ |
| $4$ | 无特殊性质 | $40$ |
对于 $100\%$ 的数据保证 $1 \leq m \leq n \leq 2 \times 10^5,0 < h_i \leq 10^9$。