最多的那个数字要超过(n+1)/ 2 排一下序 输出中间的值
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
int a[1000010];
bool cmp(int q, int p)
{
return q > p;
}
int main()
{
int n;
while(scanf("%d",&n) == 1)
{
for(int i = 0; i < n; i++) scanf("%d",&a[i]);
sort(a, a+n, cmp);
printf("%d\n",a[(n+1)/2-1]);
}
return 0;
}