Problem4821--寻找中位值

4821: 寻找中位值

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

中位值算法:将所有数排序,然后取最中间的数,如果是偶数则取中间的两个数然后除以 $2$。
老师给了你一组 $n$ 个整数组成的测量数据序列,可能存在重复的数据。请输出这个序列的中位值。

Input

第一行一个正整数 $n$,表示测量数据的个数。
第二行 $n$ 个整数,每个整数之间用空格隔开。

Output

一行,一个数,表示中位值。
对于整数,直接输出整数值。
对于可能出现的分数,请输出四舍五入保留 $1$ 位小数点。

Constraints

$3 \leq n \leq 10^5$ 
$ \lvert a_i \rvert \leq 10^7$

Sample 1 Input

3
-1 2 4

Sample 1 Output

2

Sample 2 Input

4
-2 -1 4 4

Sample 2 Output

1.5
$\frac{(-1 + 4)}{2}= 1.5$。

Source/Category

基础算法 4.7.排序