Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
36260 | 23级徐泽厚 | 【S】T3 | C++ | 运行出错 | 0 | 0 MS | 268 KB | 865 | 2025-02-10 16:28:22 |
#include <bits/stdc++.h> #define int long long using namespace std; int n; int s[100005]; unordered_set<int> S; int x,y; signed main(){ freopen("set.in","r",stdin); freopen("set.out","w",stdout); scanf("%lld",&n); for (int i=1;i<=n;i++){ scanf("%lld",&s[i]); S.emplace(s[i]); } while (1){ int lsize=S.size(); for (auto i:S){ for (auto j:S){ if (i<=j){ x=i; y=j; if (x!=(x&y)){ S.insert(x&y); } if (y!=(x|y)){ S.insert(x|y); } } } } if (S.size()==lsize){ break; } } cout<<S.size()<<endl; return 0; }