Pagini recente » Cod sursa (job #1785287) | Cod sursa (job #1369116) | Cod sursa (job #599866) | Cod sursa (job #2589144) | Cod sursa (job #820233)
Cod sursa(job #820233)
#include <stdio.h>
int a[1000005];
int majoritar( int n)
{
int k=0, cand=-1;
for(int i=1;i<=n;i++)
{
if(k==0)
{
cand=a[i];
k=1;
}
else if(a[i]==cand)
k++;
else
k--;
}
if(cand<0)
return cand;
int nr=0;
for(int i=1;i<=n;i++)
if(cand==a[i])
nr++;
if(nr>(n/2))
return cand;
else
return -1;
}
int main()
{
FILE *f=fopen("elmaj.in","r");
int n;
fscanf(f,"%d",&n);
for(int i=1;i<=n;i++)
fscanf(f,"%d",a+i);
FILE *g=fopen("elmaj.out","w");
fprintf(g,"%d",majoritar(n));
}