Pagini recente » Cod sursa (job #1021408) | Cod sursa (job #940491) | Cod sursa (job #779557) | Cod sursa (job #2650607) | Cod sursa (job #1481530)
#include<stdio.h>
#include<malloc.h>
long N,count,*v;
void divide(long* v,long l,long r,long x)
{
if(l>=r)
return;
long m=(l+r)/2;
divide(v,l,m,x);
divide(v,m+1,r,x);
if(v[m]==x)
count++;
}
int main()
{
FILE* f1,*f2;
f1=fopen("elmaj.in","r");
f2=fopen("elmaj.out","w");
fscanf(f1,"%ld",&N);
v=(long*)malloc(N*sizeof(long));
for(int i=0;i<N;i++)
fscanf(f1,"%ld",&v[i]);
int ok=0;
for(int i=0;i<N;i++,count=0)
{
divide(v,0,N,v[i]);
if(count>=N/2+1)
{
fprintf(f2,"%ld %ld\n",v[i],count);
ok=1;
break;
}
}
if(!ok)
fprintf(f2,"-1\n");
free(v);
return 0;
}