首领重点关注的部落有 q 个,这部分部落的优先值,按照他们汇报的先后顺序赋值为 0 到 q−1
其余的部落按照编号的大小顺序,优先值赋为一个很大的值,但是又要保证这些不被重点关注部落他们之间的编号顺序,用 0x3f3f3f3f + i
表示这个编号为 i 的部落的优先值。
这样赋优先值可以保证任意两个部落的优先值都不同。
然后按优先值对这些部落排序即可。
在一个遥远的神秘岛屿上,有着n个部落(1≤n≤1000),分别被标记为1~n。随着部落的扩张,岛上的首领已经无法一视同仁地管理所有的部落了。他需要根据岛上的总体情况,有所侧重地进行管理,尤其是每个月的各部落的汇报,不可能再对各个部落一视同仁地花费一样的精力去理解了。因此,他命令部落的长者们按照指定的顺序整理部落的汇报一一首领首先亲自挑选了几个需要重点关注的部落并排好序,要求把他们的汇报按排好的顺序放到前面,其他不需要特别重点关注的部落的汇报,按照部落的编号升序排列即可。现在要求你作为首领的智囊,来处理这个问题,即已知部落总数和顺序,需要重点关注的部落的排列顺序,求得首领查阅汇报的顺序。
第一行输入两个整数p(1≤p≤5000)和q,其中p表示汇报的总数、q表示首领想要重点关注的部落数。
第二行输入p个数,表示所有按递上来的汇报来自于哪个部落 (部落编号)。 第三行输入q个数,表于需要重点关注并排好序的部落编号
将汇报排序后输出汇报所属部落的编号,用空格隔开。属于首领重点关注部落的汇报,按首领重点关注的部落顺序排序。不属于首领重点关注部落的汇报,按所属部落编号升序排序。 提示:
输入
5 3
5 4 3 2 1
3 5 4
输出
3 5 4 1 2
输入
11 6
2 3 1 3 2 4 6 7 9 2 19
2 1 4 3 9 6
输出
2 2 2 1 4 3 3 9 6 7 19
本题属于以下题库,请选择所需题库进行购买