因为第二层循环一定会有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';
}