#include<stdio.h>
#include<malloc.h>
void merge(int *A,int left,int mid,int right)
{
int i,j,tempmid=mid+1,l=left,r=right;
int *temp;
temp
=(int*)malloc(sizeof(int)*(right
-left
+1)); for(i=0;i<(right-left+1);i++)
{
if(l<=mid && tempmid<=r)
{
if(A[l]<A[tempmid])
{
temp[i]=A[l];
l++;
}
else
{
temp[i]=A[tempmid];
tempmid++;
}
}
else
{
if(l>mid)
{
temp[i]=A[tempmid];
tempmid++;
}
else if(tempmid>right)
{
temp[i]=A[l];
l++;
}
}
}
j=0;
for(i=left;i<=right;i++,j++)
A[i]=temp[j];
}
void mergesort(int *A,int left,int right)
{
int mid;
mid=(left+right)/2;
if(left<right)
{
mergesort(A,left,mid);
mergesort(A,mid+1,right);
merge(A,left,mid,right);
}
else
return;
}
main()
{
int party[1000],t,i,m,n,num,count=0,maj,req=0;
while(t)
{
count=0,req=0;
for(i=0;i<1000;i++)
party[i]=0;
for(i=0;i<n;i++)
{
party[num]++;
}
mergesort(party,0,m);
/*for(i=0;i<=m;i++)
printf("%d ",party[i]);*/
maj=(n/2)+1;
while(count<maj)
{
count+=party[m];
m--;
req++;
}
t--;
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8bWFsbG9jLmg+CnZvaWQgbWVyZ2UoaW50ICpBLGludCBsZWZ0LGludCBtaWQsaW50IHJpZ2h0KQp7CglpbnQgaSxqLHRlbXBtaWQ9bWlkKzEsbD1sZWZ0LHI9cmlnaHQ7CglpbnQgKnRlbXA7Cgl0ZW1wPShpbnQqKW1hbGxvYyhzaXplb2YoaW50KSoocmlnaHQtbGVmdCsxKSk7Cglmb3IoaT0wO2k8KHJpZ2h0LWxlZnQrMSk7aSsrKQoJewoJCWlmKGw8PW1pZCAmJiB0ZW1wbWlkPD1yKQoJCXsKCQkJaWYoQVtsXTxBW3RlbXBtaWRdKQoJCQl7CgkJCQl0ZW1wW2ldPUFbbF07CgkJCQlsKys7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQl0ZW1wW2ldPUFbdGVtcG1pZF07CgkJCQl0ZW1wbWlkKys7CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJaWYobD5taWQpCgkJCXsJCgkJCQl0ZW1wW2ldPUFbdGVtcG1pZF07CgkJCQl0ZW1wbWlkKys7CgkJCX0KCQkJZWxzZSBpZih0ZW1wbWlkPnJpZ2h0KQoJCQl7CgkJCQl0ZW1wW2ldPUFbbF07CgkJCQlsKys7CgkJCX0KCQl9Cgl9CglqPTA7Cglmb3IoaT1sZWZ0O2k8PXJpZ2h0O2krKyxqKyspCgkJQVtpXT10ZW1wW2pdOwoJZnJlZSh0ZW1wKTsKfQogCnZvaWQgbWVyZ2Vzb3J0KGludCAqQSxpbnQgbGVmdCxpbnQgcmlnaHQpCnsKCWludCBtaWQ7CgltaWQ9KGxlZnQrcmlnaHQpLzI7CglpZihsZWZ0PHJpZ2h0KQoJewoJCW1lcmdlc29ydChBLGxlZnQsbWlkKTsKCQltZXJnZXNvcnQoQSxtaWQrMSxyaWdodCk7CgkJbWVyZ2UoQSxsZWZ0LG1pZCxyaWdodCk7Cgl9CgllbHNlCgkJcmV0dXJuOwp9CiAKbWFpbigpCnsKCWludCBwYXJ0eVsxMDAwXSx0LGksbSxuLG51bSxjb3VudD0wLG1haixyZXE9MDsKCXNjYW5mKCIlZCIsJnQpOwoJd2hpbGUodCkKCXsKCQljb3VudD0wLHJlcT0wOwoJCWZvcihpPTA7aTwxMDAwO2krKykKCQkJcGFydHlbaV09MDsKCQlzY2FuZigiJWQlZCIsJm0sJm4pOwoJCWZvcihpPTA7aTxuO2krKykKCQl7CgkJCXNjYW5mKCIlZCIsJm51bSk7CgkJCXBhcnR5W251bV0rKzsKCQl9CgkJbWVyZ2Vzb3J0KHBhcnR5LDAsbSk7CgkJLypmb3IoaT0wO2k8PW07aSsrKQoJCQlwcmludGYoIiVkICIscGFydHlbaV0pOyovCgkJbWFqPShuLzIpKzE7CgkJd2hpbGUoY291bnQ8bWFqKQoJCXsKCQkJY291bnQrPXBhcnR5W21dOwoJCQltLS07CgkJCXJlcSsrOwoJCX0KCQlwcmludGYoIiVkXG4iLHJlcSk7Cgl0LS07Cgl9CglyZXR1cm4gMDsKfQ==