Pagini recente » Cod sursa (job #2550497) | Cod sursa (job #1605306) | Cod sursa (job #2036625) | Cod sursa (job #2927563) | Cod sursa (job #800080)
Cod sursa(job #800080)
#include<stdio.h>
int a[100];
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;
FILE* f = fopen("elmaj.in","r");
fscanf(f,"%i",&n);
for(i=1;i<=n;i++){
fscanf(f,"%i",&a[i]);
}
qs(1,n);
k=1;
for(i=1;i<=n;i++){
if(a[i]==a[i+1])
{
j=1;
while(a[i]==a[i+1])
{
j++;i++;
}
if(j>(n/2))
{
k=0;
break;
}
}
}
FILE*h=fopen("elmaj.out","w");
if(k) fprintf(h,"-1");
else fprintf(h,"%d %d",a[i],j);
fclose(f);
fclose(h);
return 0;
}