QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 2048 MB Total points: 100

#7690. 一个关键问题

Statistics

快速排序(Quicksort)是由 Tony Hoare 在 1959 年开发的一种递归排序算法。该算法的主要步骤之一是划分(partition)步骤:给定数组中的一个元素 $p$(枢轴元素),将数组中的元素重新排列,使得 $X_L$ 中的所有值均 $\le p$,且 $X_R$ 中的所有元素均 $> p$,如下图所示。

上图展示了一个数组在以枢轴元素 13 进行划分前后的状态。请注意,$X_L$ 和 $X_R$ 中的元素通常不是有序的,且其中任何一个部分都可能为空。

Figure A.1: 划分前后的数组

划分是如何执行的以及如何选择枢轴元素是引人入胜的问题,但我们并不关心。我们希望你完成的任务如下:给定一个数组,确定所有可能作为枢轴值的元素,假设该数组已经过划分,或者确定该数组尚未被划分。

输入格式

输入以一个正整数 $n$ ($1 \le n \le 10^6$) 开头,表示数组的大小。随后是 $n$ 个正整数,表示数组中的值。所有值都是唯一的且 $\le 10^6$。

输出格式

输出 $m$,即数组中可能作为划分数组的枢轴值的数量,随后按这些枢轴值在输入中出现的顺序输出它们。如果 $m > 100$,则仅输出前 100 个枢轴值。注意,$m = 0$ 表示该数组未被划分。

样例

输入格式 1

10 1 11 8 13 53 20 63 99 79 94

输出格式 1

3 1 13 63

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.