Cod sursa(job #687798)
| Utilizator | Data | 22 februarie 2012 19:12:47 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include<stdio.h>
int main()
{
unsigned long n,v[1000000],i,j,a,x,s,e;
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%ld",&n);
for(i=0;i<n;i++)
scanf("%ld",&v[i]);
for(i=0;i<n;i++)
for(j=0;j<i;j++)
if(v[j]>v[i])
{a=v[i];v[i]=v[j];v[j]=a;}
a=1;s=0;
x=n/2+1;
e=v[0];
for(i=1;i<n;i++)
if(v[i]==v[i-1])
{a++;}
else
if(a>=x)
{printf("%ld%ld",e,a);break;}
else
{s+=a;a=1;e=v[i];if(s>=x) {printf("%d",-1);break;}}
return 0;
}
