Pagini recente » Cod sursa (job #2734499) | Cod sursa (job #2972825) | Cod sursa (job #2394250) | Cod sursa (job #2415242) | Cod sursa (job #1325020)
#include<stdio.h>
int findMaj(int a[],int n)
{
int counter=1,pos=0;
for(int i=0;i<n;i++)
{
if(a[i]==a[pos]) counter++;
else counter--;
if(counter==0)
{
counter++;
pos=i;
}
}
return a[pos];
}
int checkMaj(int a[],int n,int c)
{
int counter=0;
for(int i=0;i<n;i++)
if(a[i]==c) counter++;
return counter;
}
int main()
{
FILE *fin,*fout;
fin=fopen("elmaj.in","r");
fout=fopen("elmaj.out","w");
int n,c,f;
fscanf(fin,"%d",&n);
int a[n];
for(int i=0;i<n;i++)
fscanf(fin,"%d",&a[i]);
c=findMaj(a,n);
f=checkMaj(a,n,c);
if(f>n/2) fprintf(fout,"%d %d",c,f);
else fprintf(fout,"-1");
}