Wrong Answer

#include <stdio.h>

int main(void) {
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n , f=0 ;
        scanf("%d",&n);
        int a[n];
        int b[1000]={0} ;
        for (int i=0;i<n;i++){
            scanf("%d",&a[i]);
            b[a[i]]++;
        }
        
        for (int i=0;i<n-1;i++){
            if (a[i]!=a[i+1]){
                for (int j=i+1;j<n;j++){
                    if (a[j]==a[i]){
                        f=1;
                        printf("NO\n"); break;
                    }
                }
                if (f==1) break;
                else f=0;
            }
            
        }
        if (f==0){
        for (int i=1;i<=n;i++){
            for (int j=i+1;j<=n;j++) {
                if(b[i]==b[j] && b[i]!=0) {f=1; printf("NO\n"); break;}  
            }
        }
        }
        
        if (f==0) printf("YES\n");
        
    }
	// your code goes here
	return 0;
}

[ CHEFRECP](https://www.codechef.com/problems/CHEFRECP?tab=statement)