QOJ.ac

QOJ

حد الوقت: 0.6 s حد الذاكرة: 64 MB مجموع النقاط: 100

#11293. 砖块

الإحصائيات

小 Bitie 和他的朋友们昨天在幼儿园玩了一整天的彩色积木。起初他们用积木搭建模型,但很快就觉得无聊了。于是他们决定把积木排成一排。为了避免看起来单调,他们尽量不把颜色相同的两块积木放在一起。经过很长一段时间,他们终于在遵守这一规则的前提下排好了所有的积木。随后托儿所放学了,孩子们跟着父母回家了。

今天,Bitie 很早就来到了幼儿园。他很高兴地看到他们昨天的作品还立在那里。但随后他不幸被绊倒,正好摔在积木排上,积木全乱成了一堆。男孩迅速按颜色将它们分好类,并思考如何才能最快地重新拼出完美的队列。他设法回忆起了队列两端积木的颜色。

请帮助小 Bitie,告诉他如何将积木排成一排,使得没有两块颜色相同的积木相邻,且队列两端的积木颜色与他回忆的一致。请注意,Bitie 可能记错了这两种颜色,或者在摔倒后没有找到所有的积木,因此重建可能是不可能的。

输入格式

第一行包含三个整数 $k$、$p$ 和 $q$($1 \le k \le 1\,000\,000$,$1 \le p,q \le k$),分别表示积木的颜色种类数,以及期望排列中第一块和最后一块积木的颜色,整数间用空格分隔。第二行包含 $k$ 个整数 $i_{1}, i_{2}, \dots, i_{k}$($1 \le i_{j} \le 1\,000\,000$),整数间用空格分隔。数字 $i_{j}$ 表示 Bitie 拥有颜色为 $j$ 的积木恰好 $i_{j}$ 块。你可以假设积木总数不超过一百万,即 $n=i_{1}+i_{2}+\dots+i_{k} \le 1\,000\,000$。

输出格式

你的程序应输出 $n$ 个整数,用空格分隔,表示满足上述约束的积木排列中各积木的颜色。如果不存在这样的排列,你的程序应仅输出一个整数:0。

如果有多种正确的答案,你的程序可以任意选择其中一种。

样例

样例输入 1

3 3 1
2 3 3

样例输出 1

3 2 1 3 2 3 2 1

样例输入 2

3 3 1
2 4 2

样例输出 2

0

说明

在第一个样例中,另一个正确的排列是 "3 1 2 3 2 3 2 1"。在第二个样例中,Bitie 一定是记错了——不可能在满足约束的情况下排列这些积木。

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.