Pagini recente » Cod sursa (job #2758627) | Cod sursa (job #1263177) | Cod sursa (job #110680) | Cod sursa (job #1146453) | Cod sursa (job #805798)
Cod sursa(job #805798)
#include<stdio.h>
int a[1000001];
void qs(int l,int r){
int i,j,p;
int *z,*q;
i=l; j=r; p=a[(i+j)/2];
while(i<j)
{
while(a[i]<p) i++;
while(a[j]>p) j--;
if(i<=j)
{
int t;
z=&a[i]; q=&a[j];
t=a[i];
*z=a[j]; *q=t;
i++; j--;
}
}
if(i<r) qs(i,r);
if(j>l) qs(l,j);
}
int main(){
int i,j,n,k,x;
FILE* f=fopen("elmaj.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++){
fscanf(f,"%d",&a[i]);
}
qs(1,n);
x=a[(n+1)/2];
k=0;
for (i=1;i<=n;i++)if(a[i]==x) k++;
FILE* h=fopen("elmaj.out","w");
if(k>n/2) fprintf(h,"%d %d",x,k);
else fprintf(h,"-1");
fclose(f);fclose(h);
return 0;
}