总时间限制: 1000ms 内存限制: 65536kB
描述
在N(1<=N<10,000且N为奇数)个数中,找到中位数。
输入
第1行:N
第2至N+1行:每行是一个整数
输出
第一行:中位数
样例输入
5
2
4
1
3
5
样例输出
3
分析
- 由题目的样例输出可以知道,
3
不在输入序列2 4 1 3 5
的中间,但是它是中位数,这或许会涉及到排序。 - 然后通过下标直接找到中位数。
Code
#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];
}