王道2-11
作者:
Dawn-77
,
2023-06-22 09:58:32
,
所有人可见
,
阅读 136
#include<iostream>
using namespace std;
const int N = 1000010;
int q[N];
int majority(int A[], int n){
int i=0, c=0, count=1;
c = A[0];
for(int i=1; i<n; i++){
if(A[i]==c) count++;
else{
if(count>0) count--;
else {
c = A[i];
count=1;
}
}
}
if(count>0){
for(i=count=0; i<n; i++){
if(A[i]==c) count++;
}
}
if(count>n/2) return c;
else return -1;
}
int main(){
int n;
cin>>n;
for(int i=0; i<n; i++){
cin>>q[i];
}
cout<<majority(q, n)<<endl;
return 0;
}