AT_arc043_c.[ARC043C] 転倒距離
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
将 1 到 N 的整数重新排列得到的数列称为大小为 N 的排列。
对于两个大小相同的排列 X, Y,在 X 和 Y 中顺序颠倒的数字对的个数称为 X 和 Y 的“逆序距离”。
例如,[3, 1, 4, 2, 5] 和 [2, 5, 3, 4, 1] 之间有如下 7 个数字对的顺序发生了颠倒,因此它们的逆序距离为 7:
- (1, 2), (1, 4), (1, 5), (2, 3), (2, 4), (3, 5), (4, 5)
给定两个大小为 N 的排列 A 和 B。
请判断是否存在一个大小为 N 的排列,使得它与 A 的逆序距离等于它与 B 的逆序距离。如果存在,请给出其中一个排列。
如果有多个答案,可以输出任意一个。
输入格式
输入通过标准输入按以下格式给出:
N
A1 A2 … AN
B1 B2 … BN
- 第 1 行给出一个整数 N,表示排列的大小,1≤N≤105。
- 第 2 行给出排列 A 的 N 个元素,空格分隔。第 i 个整数为 A 的第 i 个元素 Ai,1≤Ai≤N。
- 第 3 行给出排列 B 的 N 个元素,空格分隔。第 i 个整数为 B 的第 i 个元素 Bi,1≤Bi≤N。
- 对于 i=j,有 Ai=Aj 且 Bi=Bj。
输出格式
如果不存在满足条件的排列,则输出 −1。
如果存在,输出该排列的元素,空格分隔,输出一行。
输入输出样例
输入#1
5 1 2 3 4 5 5 4 3 2 1
输出#1
5 2 1 3 4
输入#2
5 1 2 3 4 5 1 2 4 3 5
输出#2
-1
输入#3
9 3 1 4 2 5 9 7 6 8 2 1 8 3 5 7 9 4 6
输出#3
3 1 2 8 4 5 7 9 6
说明/提示
部分分
本题设置了部分分。
- 对于 1≤N≤3,000 的数据集,答对可得 30 分。
- 对于 1≤N≤105 的数据集,答对可再得 70 分,总计 100 分。
样例解释 1
设输出的排列为 C,则 A 与 C 的逆序距离和 B 与 C 的逆序距离均为 5。
样例解释 2
不存在同时与 A 和 B 具有相同逆序距离的排列。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?