Help me in solving CONCUSSIVE problem

My issue

why this solution is not acceptable if answer is validate situation
include <bits/stdc++.h>
using namespace std;

int main() {
int t;
cin>>t;
while(t–){
int n;
cin>>n;
vectorv(n,0);
for(int i=0;i<n;i++)cin>>v[i];
sort(v.begin(),v.end());
vectornums(n,0);
unordered_map<int,int>mp;
bool chk = 0;
for(int i =0,j=0 ;i<n;i++){
mp[v[i]] ++;
if(mp[v[i]]>n/2 + n%2)chk =1;
if(j >=n){
j =1;
}
nums[j] = v[i];
j+=2;
}
if(chk){
cout<<-1;
}else {
for(int i=0;i<n;i++)cout<<nums[i]<<" ";
}
cout<<endl;
}
return 0;
}

My code

``````#include <bits/stdc++.h>
using namespace std;

int main() {
int  t;
cin>>t;
while(t--){
int n;
cin>>n;
vector<long long >v(n,0);
for(int i=0;i<n;i++)cin>>v[i];
sort(v.begin(),v.end());
vector<long long >nums(n,0);
unordered_map<int,int>mp;
bool chk = 0;
for(int  i =0,j=0 ;i<n;i++){
mp[v[i]] ++;
if(mp[v[i]]>n/2 + n%2)chk =1;
if(j >=n){
j =1;
}
nums[j] = v[i];
j+=2;
}
if(chk){
cout<<-1;
}else {
for(int  i=0;i<n;i++)cout<<nums[i]<<" ";
}
cout<<endl;
}
return 0;
}

``````

Problem Link: CONCUSSIVE Problem - CodeChef