Pagini recente » Cod sursa (job #3218340) | Cod sursa (job #805475)
Cod sursa(job #805475)
#include<stdio.h>
int a[1000001];
void sw(int* x,int* y){
int t;
t=*x;
*x=*y;
*y=t;
}
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)
{
z=&a[i]; q=&a[j];
sw(z,q); i++; j--;
}
}
if(i<r) qs(i,r);
if(j>l) qs(l,j);
}
int main(){
int i,j,n,k,x;
FILE* f=("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;
}