因为第二层循环一定会有a[i]&a[i],每次tp算出来的就是a[i],OR取并集的结果就是本身,所以就是求一下这n个数XOR的结果就可以了
void solve(){ int n; cin>>n; int a[n+1]; int ans=0; for(int i=1;i<=n;i++){ cin>>a[i]; ans^=a[i]; } cout<<ans<<'\n'; }