薛定谔彭于晏:ac #include <stdio.h> #include <unistd.h> #include <iostream> #include <vector> using namespace std; int main() { int q; cin >> q; vector<vector<int>> nums(30); while (q--) { int a, b; cin >> a >> b; if (a == 1) { for (int i = 25; i >= 0; i--) { if ((1 << i) & b) { nums[i].push_back(b); } } } else { bool flag = true; for (int i = 25; i >= 0; i--) { if (((1 << i) & b) == 0) { continue; } bool found = true; for (auto num: nums[i]) { if ((num | b) == b) { found = false; break; } } if (found) { flag = false; break; } } if (flag) { cout << "YES" << endl; } else { cout << "NO" << endl; } } } }