抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

总时间限制: 1000ms 内存限制: 65536kB

描述

在 N(1<=N<10,000 且 N 为奇数)个数中,找到中位数。

输入

第 1 行:N

第 2 至 N+1 行:每行是一个整数

输出

第一行:中位数

样例输入

1
2
3
4
5
6
5
2
4
1
3
5

样例输出

1
3

分析

  1. 由题目的样例输出可以知道,3 不在输入序列 2 4 1 3 5 的中间,但是它是中位数,这或许会涉及到排序。
  2. 然后通过下标直接找到中位数。

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>

using namespace std;

int main() {
int N, num;
vector<int> v;
cin >> N;
for(int i = 1; i <= N; i++) {
cin >> num;
v.insert(v.end(), num);
}
sort(v.begin(), v.end());
cout << v[(0+N)/2];
}