# Can someone find wrong test case for my solution?

Problem link : Contest Page | CodeChef
My Solution : Solution: 60500690 | CodeChef
PS : It’s passing all sample test cases but failing for some hidden cases , i am unable to find them please help.

consider below test case:

``````1
5
2 4 6 8 3
``````

Your output is -1 but 3 2 4 6 8 can be the solution as the absolute differences will be 1 2 2 2 and the sum will be 7 which is odd.

Another problem with your solution is,
consider this test case

``````1
5
1 2 3 4 5
``````

``````2 1 4 3 576556042672268600
``````

res[4] gives the garbage value

1 Like

Thanks for your help , but still it is giving wa

``````#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>
#include <unordered_map>
#include <cmath>

using namespace std;

typedef long long int ll;

void solve(){
ll n;
cin>>n;
vector<ll> v;
vector<ll> even;
vector<ll> odd;
for(ll i=0;i<n;i++){
ll d;
cin>>d;
v.push_back(d);
if(d & 1 !=0){
odd.push_back(d);
}
else{
even.push_back(d);
}
}
sort(even.begin(),even.end());
sort(odd.begin(),odd.end());
ll es=even.size();
ll os=odd.size();
if(os==0 || es==0){
cout<<-1<<endl;
}
else if(odd.size() & 1 !=0){
for(ll i=0;i<v.size();i++){
cout<<v[i]<<" ";
}
cout<<endl;
}
else{
vector<ll> res;
ll e=0,o=0;
for(ll i=0;i<n;i++){
if(i&1!=0){

res.push_back(even[e]);
e++;
}
else{
res.push_back(odd[o]);
o++;
}
}
for(ll i=0;i<n;i++){
cout<<res[i]<<" ";
}
cout<<endl;
}

}
int main() {
ll t=1;
cin>>t;
while(t--){solve();}
return 0;
}
``````

But, I don’t think rest of solution is correct. If `(odd.size () & 1) != 0` (which means there are odd number of odd parity elements in the array) the array need not be lovely. Consider following array
``````3 3 2 3
NOTE : ` (a & b != 0)` is equivalent to `a & (b != 0)` because of the operator precedence and I have assumed that you didn’t mean what you coded there.