Cod sursa(job #1405092)
Utilizator | Zaharia Stefan Tudor stefzah | Data | 28 martie 2015 20:36:48 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <cstdio>
using namespace std;
int a[1000000],i,nr,ct,n,vot,q;
int main()
{freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
q=1;
vot=1;
for(i=2;i<=n;i++)
{if(a[i]==a[q])vot++;
else vot--;
if(vot==0){q=i;vot=1;}
}
nr=a[q];
for(i=1;i<=n;i++)
if(nr==a[i]) ct++;
if(ct>=n/2+1) printf("%d",nr);
else printf("-1");
}