Why it shows run time error

My issue

My code

#include<bits/stdc++.h>
using namespace std;
int main() {
       int t;
       cin>>t;
       while(t--){
           int n;
           cin>>n;
           vector<int>v(n);
           unordered_map<int,int>mp;
           for(int i=0;i<n;i++){
               cin>>v[i];
               mp[v[i]]++;
           }
           unordered_set<int>s;
           int f1=0;
           for(auto it:mp){
               if(s.count(it.second)){
                   f1=1;
                   break;
               }
               else{
                   s.insert(it.second);
               }
           }
           if(f1==1)  cout<<"NO"<<endl;
           else{
               int vis[n]={0};
           int f=0;
           vis[v[0]]=1;
           for(int i=1;i<n;i++){
               if(v[i]==v[i-1]) continue;
               if(vis[v[i]]==1){
                   f=1;
                   break;
               }
               vis[v[i]]=1;
           }
           if(f==1) cout<<"NO"<<endl;
           else cout<<"YES"<<endl;
           }
           
       }
	return 0;
}

Problem Link: CHEFRECP Problem - CodeChef