C++ 100%
c++\nclass Solution {\npublic:\n    int minImpossibleOR(vector<int>& nums, int cand = 0) {\n        for (int j = 0; j < 31; ++j) if (!canConstruct(cand | (1 << 
```c++\nclass Solution {\npublic:\n    int minImpossibleOR(vector<int>& nums, int cand = 0) {\n        for (int j = 0; j < 31; ++j) if (!canConstruct(cand | (1 << j), nums)) return cand | (1 << j);\n        return cand;\n    }\nprivate:\n    inline bool canConstruct(int cur, const vector<int>& nums, int tmp = 0) {\n        for (const auto& num : nums) {\n            if (((~cur) & num) == 0) tmp |= num;\n            if (tmp == cur) return true;\n        }\n        return false;\n    }\n};\n```
[]