标准库
#include<algorithm>
升序排列
sort(array,array + n);
int pos1 = lower_bound(array, array + n, array[i])-array;//返回数组中第一个大于或等于被查数的下标
int pos2 = upper_bound(array, array + n, array[i])-array;//返回数组中第一个大于被查数的下标
MyAnswer
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin >> n ;
int *array = new int[n];
for (int i = 0; i < n; i++)
cin >> array[i];
sort(array,array + n);
for (int i = 0; i < n; i++)
{
int pos1 = lower_bound(array, array + n, array[i])-array;
int pos2 = upper_bound(array, array + n, array[i])-array;
if (pos1 + pos2 == n)
{
cout << array[i]<<endl;
delete[]array;
return 0;
}
}
cout << -1 << endl;
delete[]array;
return 0;
}