xの2進数表現で0のビットを下位から埋めていく。
class BitwiseEquations {
public:
long long kthPlusOrSolution(int x, int k)
{
vector<lli> idx;
for (lli i = 0; i < 62; ++i) {
if (x & (1LL << i)) ; else idx.push_back(i);
}
lli ret = 0;
for (lli i = 0; i < 62; ++i) {
if (k & (1LL << i)) ret += (1LL << idx[i]);
}
return ret;
}
};