In this HackerEarth Subxor problem solution, You are provided an array A of n integers. You are required to partition the array into the minimum number of subarrays such that the XOR of any non-empty subset of the subarrays is not equal to zero. If no such partition exists, then print -1. Otherwise, print 1.


HackerEarth Subxor problem solution


HackerEarth Subxor problem solution.

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll n,a,x=0;cin>>n;
for(int i=0;i<n;i++)cin>>a,x^=a;
cout<<(x==0?-1:1)<<endl;
}

Second solution

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int maxn = 5e5 + 17;
int n;
int main(){
ios::sync_with_stdio(0), cin.tie(0);
cin >> n;
int x = 0;
for(int i = 0; i < n; i++){
int y;
cin >> y;
x ^= y;
}
cout << (x ? 1 : -1) << '\n';
}