P14903 [ICPC 2018 Yokohama R] Sixth Sense
题目描述
Future 女士拥有预知能力。自然地,她在某些纸牌游戏中表现出色,因为她能准确预见到除自己外所有玩家的行动。今天,她接受了一位鲁莽的赌徒 Past 先生的挑战。他们同意玩一个简单的两人吃墩纸牌游戏。
游戏用的纸牌一面印有数字,另一面为空白,使得不同牌之间无法区分。
游戏开始时,每位玩家都分到相同数量的牌,例如 $n$ 张,且不向对手展示牌面上的数字。
一场游戏由 $n$ 个墩组成。在每个墩中,双方各从手牌中打出一张牌。打出数字较大的牌的玩家赢得该墩。由于 Future 女士非常擅长这个游戏,他们约定当双方打出数字相同的牌时,该墩归 Past 先生所有。一旦一张牌被使用过,在同一场游戏中就不能再次使用。游戏持续进行,直到手牌全部用完。游戏的目标是赢得尽可能多的墩。
你在这个问题中的任务是通过提供一个计算机程序来帮助 Future 女士,确定她手牌的最佳出牌顺序。由于她拥有第六感,你的程序可以利用游戏开始前普通人无法获得的信息。
输入格式
输入包含单个测试用例,格式如下。
$$
\begin{aligned}
& n \\
& p_1 \; \cdots \; p_n \\
& f_1 \; \cdots \; f_n
\end{aligned}
$$
第一行的 $n$ 是墩的数量,是一个介于 $2$ 到 $5000$ 之间(含)的整数。第二行代表 Past 先生手牌中的出牌顺序。在第 $i$ 墩,他将打出一张数字为 $p_i$ 的牌($1 \leq i \leq n$)。第三行代表 Future 女士的手牌。$f_i$ ($1 \leq i \leq n$)是她从发牌者处收到的第 $i$ 张牌上看到的数字。第二行或第三行中的每个数字都是介于 $1$ 到 $10\,000$ 之间(含)的整数。这些行中可能有重复的数字。
输出格式
输出应为一整行,包含 $n$ 个由空格分隔的整数 $a_1 \; \cdots \; a_n$,其中 $a_i$ ($1 \leq i \leq n$)是她在第 $i$ 墩为了最大化赢得墩数所应打出的牌上的数字。如果有两个或更多这样的数字序列,输出其中字典序最大的一个。