Update

One new tab added. Open in browser view if it is not visible. (25/08/2022 08:48)

Array Equality

Problem Code:
ARREQU

Contest Code:LTIME111D
Submission byrashmi1729
Submitted: 10 hours ago

Status:
Correct Answer


Language : C
(NOTE : Try a few times yourself before moving to the solution)


#include <stdio.h>
#include <stdlib.h>

int cmpfunc (const void * a, const void * b) {
   return ( *(int*)a - *(int*)b );
}


int main() {
	int t;
	scanf("%d\n",&t);
	
	while(t--)
	{
	    int n;
	    scanf("%d\n",&n);
	    int arr[n];
	    int same = 1;
	    for(int i = 0; i < n; i++)
	    scanf("%d ",&arr[i]);
	    
	    int max = 0;
	    qsort(arr, n, sizeof(int), cmpfunc);
	    
	    for(int i = 0; i < n-1; i++)
	    {
	        if(arr[i+1] == arr[i])
	        same++;
	        else
	        same = 1;
	        
	        max = same>max?same:max;
	    }
	    
	    if(n%2==0){
            if(max >= ((n/2)+1))
            	printf("No\n");
            else
            	printf("Yes\n");
	    }
	    else
	    {
            if(max > ((n/2)+1))
            	printf("No\n");
            else
            	printf("Yes\n");
	    }
	}
	return 0;
}


No comments: