找到以后要再扫一遍确认。
http://zhedahht.blog.163.com/blog/static/25411174201085114733349/
#include <iostream>
#include <memory.h>
#define LEN 100005
#define ulong unsigned long long
using namespace std;
ulong A[LEN];
int main()
{
int n;
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
int count = 0;
ulong candidate = 0;
for (int i = 0; i < n; i++)
{
if (count == 0)
{
count++;
candidate = A[i];
}
else if (candidate == A[i])
{
count++;
}
else
{
count--;
}
}
count = 0;
for (int i = 0; i < n; i++)
{
if (A[i] == candidate) count++;
}
if (count * 2 > n)
{
cout << candidate << endl;
}
else
{
cout << -1 << endl;
}
}
return 0;
}