给出N个数字,请找出升序排列后,处于中间位置的那个数字. 即输出第(1+n) /2 那个数字. N<=2*10^6
Input
如题所示
Output
如题所示
Samples
输入数据 1
5
2
4
1
3
5
Copy
输出数据 1
3
思路:使用sort排序快速将数组升序排列,在求出第 (1+n) /2个数,即a[(1+n) /2]。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,a[2000005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n);
cout<<a[1+n/2];
return 0;
}