QOJ.ac

QOJ

時間限制: 10 s 記憶體限制: 2048 MB 總分: 100

#2337. 瓷砖

统计

陶瓷艺术家 Maria 和 João 正在波尔图开设一家小型 azulejo 商店。Azulejos 是葡萄牙著名的精美瓷砖。Maria 和 João 想要制作一个吸引人的橱窗展示,但由于店面空间有限,他们必须将瓷砖样品排列在同一个货架的两行上。João 的每一块瓷砖后面都恰好有一块 Maria 的瓷砖,而 Maria 的每一块瓷砖前面也恰好有一块 João 的瓷砖。这些手工制作的瓷砖大小各异,重要的是,后排的每一块瓷砖都必须比它前面的瓷砖更高,以便路人都能看到。为了方便顾客,每一行瓷砖都必须按价格从左到右以非递减顺序排列。价格相同的瓷砖可以按任何顺序排列,前提是必须满足上述可见性条件。

你的任务是找到一种满足这些约束的每行瓷砖排列方式,或者确定不存在这样的排列。

输入格式

输入的第一行包含一个整数 $n$ ($1 \le n \le 5 \cdot 10^5$),表示每行瓷砖的数量。接下来的四行每行包含 $n$ 个整数;前两行表示后排瓷砖,后两行表示前排瓷砖。每行的瓷砖根据输入顺序编号为 $1$ 到 $n$。每对中的第一行包含 $n$ 个整数 $p_1, \dots, p_n$ ($1 \le p_i \le 10^9$),其中 $p_i$ 是该行第 $i$ 号瓷砖的价格。每对中的第二行包含 $n$ 个整数 $h_1, \dots, h_n$ ($1 \le h_i \le 10^9$),其中 $h_i$ 是该行第 $i$ 号瓷砖的高度。

输出格式

如果存在有效的排列,输出两行 $n$ 个整数,每行都是 $1$ 到 $n$ 的一个排列。第一行表示后排瓷砖的排列顺序,第二行表示前排瓷砖的排列顺序。如果存在多组满足约束的排列,输出其中任意一组即可。如果不存在这样的排列,输出 impossible

样例

样例输入 1

4
3 2 1 2
2 3 4 3
2 1 2 1
2 2 1 3

样例输出 1

3 2 4 1
4 2 1 3

样例输入 2

2
1 2
2 3
2 8
2 1

样例输出 2

impossible

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.