#include "bits/stdc++.h" #include #pragma warning(disable:4996) using namespace std; using ld = long double; template using Table = vector>; vectoras; int getans(const int keta, const vector&nums) { if (keta < 0)return 0; vectorzeros; vectorones; for (auto n : nums) { if (as[n]&(1 << keta)) { ones.push_back(n); } else { zeros.push_back(n); } } if (ones.empty()) { return getans(keta - 1, zeros); } else if (zeros.empty()) { return getans(keta - 1, ones); } else { return (1 << keta) + min(getans(keta - 1, zeros), getans(keta - 1, ones)); } } int main() { int N; cin >> N; for (int i = 0; i < N; ++i) { int a; cin >> a; as.push_back(a); } vectorallnums(N); iota(allnums.begin(), allnums.end(), 0); int ans = getans(31,allnums); cout << ans << endl; return 0; }