数组元素范围小,利用桶排序,遍历桶数组判断是否存在中间数。

include <bits/stdc++.h>

using namespace std;
int main ()
{
int n,i,sum=0;
cin>>n;
int a,b[1010]={0};
for(i=0;i<n;i++) {
cin>>a;
b[a]++;
}
for(i=1;i<1001;i++) {
if(b[i]!=0&&sum==(n-sum-b[i])) break;
sum+=b[i];
}
if(i<=1000) cout<<i;
else cout<<-1;

return 0;

}