Cod sursa(job #1974971)
| Utilizator | Data | 29 aprilie 2017 16:44:23 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
int N,v[1000001],i,Max1,x;
short q=1;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i)
scanf("%d",&v[i]);
sort(v+1,v+N+1);
Max1=1,x=v[1];
for(i=2;i<=N;++i)
if(x!=v[i]){
if(Max1>=N/2+1)
q=0,printf("%d %d \n ",x,Max1);
Max1=1,x=v[i];
}else if(x==v[i])Max1++;
if(Max1>=N/2+1)
q=0,printf("%d %d \n ",v[N],Max1);
if(q)
printf("-1");
}
