Cod sursa(job #1650399)
| Utilizator | Data | 11 martie 2016 18:06:35 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <cstdio>
using namespace std;
int v[1000010];
int main()
{
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
int n,a=0,nr=0;
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&v[i]);
for(int i=1;i<=n;i++)
if(nr==0) {a=v[i];nr=1;}
else if(v[i]==a) nr++;
else nr--;
nr=0;
for(int i=1;i<=n;i++) nr+=(v[i]==a);
if(nr>=n/2+1) printf("%d %d",a,nr);
else printf("-1");
return 0;
}
