Cod sursa(job #813526)
Utilizator | Dobre Bogdan Mihai dobrebogdan | Data | 15 noiembrie 2012 18:06:17 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include<stdio.h>
#include<algorithm>
long v[2000005];
using namespace std;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
int n,i,m,x;
m=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
sort(v+1,v+n+1);
x=v[(n+1)/2];
i=(n+1)/2-1;
while(v[i]==x)
{
m++;
i--;
}
i=(n+1)/2+1;
while(v[i]==x)
{
m++;
i++;
}
if(m>=n/2+1)
printf("%ld %d",x,m);
return 0;
}