CF1252A Copying Homework

题目描述

Danang 和 Darto 是同班同学。他们收到了一项作业,要求将 $1$ 到 $N$ 的整数排列成一个全排列。Danang 已经完成了作业,生成了一个长度为 $N$ 的全排列 $A$。Darto 想抄 Danang 的作业,但 Danang 要求 Darto 稍作修改,以免老师发现 Darto 抄袭。 两个长度为 $N$ 的全排列 $A$ 和 $B$ 的差异,记作 $diff(A, B)$,定义为所有 $i$ 的 $|A_i - B_i|$ 的和。换句话说,$diff(A, B) = \sum_{i=1}^N |A_i - B_i|$。Darto 想要构造一个长度为 $N$ 的全排列 $B$,使得它与 $A$ 的差异最大。形式化地说,他想找到一个全排列 $B_{max}$,使得对于所有长度为 $N$ 的全排列 $B'$,都有 $diff(A, B_{max}) \ge diff(A, B')$。 Darto 需要你的帮助!由于老师比较宽松,只要 $A$ 和 $B$ 的差异至少为 $N$,就认为 $B$ 与 $A$ 不同。因此,你只需要输出一个满足 $diff(A, B) \ge N$ 的全排列 $B$ 即可。 当然,你也可以输出 $B_{max}$,因为可以证明对于任意长度为 $N$ 的全排列 $A$ 和 $N > 1$,都有 $diff(A, B_{max}) \ge N$。这也证明了对于任意全排列 $A$ 都存在解。如果有多个满足条件的解,你可以输出任意一个。

输入格式

输入的第一行包含一个整数 $N$($2 \le N \le 100\,000$),表示 Danang 的全排列的长度。 第二行包含 $N$ 个整数 $A_i$($1 \le A_i \le N$),表示 Danang 的全排列。保证 $A$ 中所有元素互不相同。

输出格式

输出一行 $N$ 个整数(用一个空格分隔),表示一个长度为 $N$ 的全排列 $B$,满足 $diff(A, B) \ge N$。注意,$B$ 必须是 $1$ 到 $N$ 的一个全排列,且所有元素互不相同。

说明/提示

样例输入输出 #1 说明 对于 $A = [1, 3, 2, 4]$ 和 $B = [4, 2, 3, 1]$,有 $diff(A, B) = |1 - 4| + |3 - 2| + |2 - 3| + |4 - 1| = 3 + 1 + 1 + 3 = 8$。由于 $8 \ge 4$,$[4, 2, 3, 1]$ 是本样例的一个合法输出。 由 ChatGPT 4.1 翻译