Cod sursa(job #889696)
Utilizator | Data | 24 februarie 2013 17:40:35 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include<stdio.h>
#include<algorithm>
using namespace std;
int v[1000000],cat;
int main(){
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int apar=0,i,n,nr,nrap=-1;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
sort(v+1,v+n+1);
int x=n/2+1;
for(i=1;i<=n;i++){
if(v[i]==v[i+1])
apar++;
else{
apar++;
if(apar>=x){
nr=v[i];
nrap=apar;}
apar=0;}
}
if(nrap==-1)
printf("-1");
printf("%d %d",nr,nrap);
return 0;
}