#include<stdio.h>
void merge(int arr[],int l,int m,int r)
{
int i, j, k;
int n1 = m - l + 1;
int n2 = r - m;
/* create temp arrays */
int L[n1], R[n2];
/* Copy data to temp arrays L[] and R[] */
for(i = 0; i < n1; i++)
L[i] = arr[l + i];
for(j = 0; j < n2; j++)
R[j] = arr[m + 1+ j];
/* Merge the temp arrays back into arr[l..r]*/
i = 0;
j = 0;
k = l;
while (i < n1 && j < n2)
{
if (L[i] <= R[j])
{
arr[k] = L[i];
i++;
}
else
{
arr[k] = R[j];
j++;
}
k++;
}
/* Copy the remaining elements of L[], if there are any */
while (i < n1)
{
arr[k] = L[i];
i++;
k++;
}
/* Copy the remaining elements of R[], if there are any */
while (j < n2)
{
arr[k] = R[j];
j++;
k++;
}
}
void mergeSort(int arr[],int l,int r)
{
if(l < r)
{
int m = l+(r-l)/2;
mergeSort(arr, l, m);
mergeSort(arr, m+1, r);
merge(arr, l, m, r);
}
}
int main()
{
int t,n,i;
int *a;
while(t--)
{
a
= (int*)malloc(sizeof(int)*n
); for(i=0;i<n;i++)
int max,index=0;
int count[10001] = {0};
mergeSort(a,0,n-1);
for(i=0;i<n;i++)
{
if(a[i+1]==a[i])
{
count[a[i]]++;
}
}
max = count[0];
for(i=1;i<10001;i++)
{
if(count[i]>max)
{
max = count[i];
index = i;
}
}
printf("%d %d\n",index
,max
+1);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4Kdm9pZCBtZXJnZShpbnQgYXJyW10saW50IGwsaW50IG0saW50IHIpCnsKICAgIGludCBpLCBqLCBrOwogICAgaW50IG4xID0gbSAtIGwgKyAxOwogICAgaW50IG4yID0gIHIgLSBtOwoKICAgIC8qIGNyZWF0ZSB0ZW1wIGFycmF5cyAqLwogICAgaW50IExbbjFdLCBSW24yXTsKCiAgICAvKiBDb3B5IGRhdGEgdG8gdGVtcCBhcnJheXMgTFtdIGFuZCBSW10gKi8KICAgIGZvcihpID0gMDsgaSA8IG4xOyBpKyspCiAgICAgICAgTFtpXSA9IGFycltsICsgaV07CiAgICBmb3IoaiA9IDA7IGogPCBuMjsgaisrKQogICAgICAgIFJbal0gPSBhcnJbbSArIDErIGpdOwoKICAgIC8qIE1lcmdlIHRoZSB0ZW1wIGFycmF5cyBiYWNrIGludG8gYXJyW2wuLnJdKi8KICAgIGkgPSAwOwogICAgaiA9IDA7CiAgICBrID0gbDsKICAgIHdoaWxlIChpIDwgbjEgJiYgaiA8IG4yKQogICAgewogICAgICAgIGlmIChMW2ldIDw9IFJbal0pCiAgICAgICAgewogICAgICAgICAgICBhcnJba10gPSBMW2ldOwogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGFycltrXSA9IFJbal07CiAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgaysrOwogICAgfQoKICAgIC8qIENvcHkgdGhlIHJlbWFpbmluZyBlbGVtZW50cyBvZiBMW10sIGlmIHRoZXJlIGFyZSBhbnkgKi8KICAgIHdoaWxlIChpIDwgbjEpCiAgICB7CiAgICAgICAgYXJyW2tdID0gTFtpXTsKICAgICAgICBpKys7CiAgICAgICAgaysrOwogICAgfQoKICAgIC8qIENvcHkgdGhlIHJlbWFpbmluZyBlbGVtZW50cyBvZiBSW10sIGlmIHRoZXJlIGFyZSBhbnkgKi8KICAgIHdoaWxlIChqIDwgbjIpCiAgICB7CiAgICAgICAgYXJyW2tdID0gUltqXTsKICAgICAgICBqKys7CiAgICAgICAgaysrOwogICAgfQp9Cgp2b2lkIG1lcmdlU29ydChpbnQgYXJyW10saW50IGwsaW50IHIpCnsKICAgIGlmKGwgPCByKQogICAgewogICAgICAgIGludCBtID0gbCsoci1sKS8yOwogICAgICAgIG1lcmdlU29ydChhcnIsIGwsIG0pOwogICAgICAgIG1lcmdlU29ydChhcnIsIG0rMSwgcik7CiAgICAgICAgbWVyZ2UoYXJyLCBsLCBtLCByKTsKCiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBpbnQgdCxuLGk7CiAgICBpbnQgKmE7CiAgICBzY2FuZigiJWQiLCZ0KTsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCZuKTsKICAgICAgICBhID0gKGludCopbWFsbG9jKHNpemVvZihpbnQpKm4pOwogICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICAgICAgc2NhbmYoIiVkIiwmYVtpXSk7CiAgICAgICAgaW50IG1heCxpbmRleD0wOwogICAgICAgIGludCBjb3VudFsxMDAwMV0gPSB7MH07CiAgICAgICAgbWVyZ2VTb3J0KGEsMCxuLTEpOwogICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgaWYoYVtpKzFdPT1hW2ldKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3VudFthW2ldXSsrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBtYXggPSBjb3VudFswXTsKICAgICAgICBmb3IoaT0xO2k8MTAwMDE7aSsrKQogICAgICAgIHsKCiAgICAgICAgICAgIGlmKGNvdW50W2ldPm1heCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbWF4ID0gY291bnRbaV07CiAgICAgICAgICAgICAgICBpbmRleCA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcHJpbnRmKCIlZCAlZFxuIixpbmRleCxtYXgrMSk7CiAgICAgICAgCiAgICB9CgogICAgcmV0dXJuIDA7Cn0K