Cod sursa(job #1974968)
Utilizator | Data | 29 aprilie 2017 16:41:53 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
int N,v[1000001],i,Max1;
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;
for(i=1;i<N;++i)
if(v[i]<v[i+1]){
if(Max1>=N/2+1)
q=0,printf("%d %d \n ",v[i],Max1);
Max1=1;
}else if(v[i]==v[i+1]){
Max1++;
}
if(Max1>=N/2+1)
q=0,printf("%d %d \n ",v[N],Max1);
if(q)
printf("-1");
}