10-28

· · 个人记录

#include<bits/stdc++.h>
using namespace std;
int n,i,j,k,a[200001],maxx,w,ans;
int main(){
    //freopen("b.in","r",stdin);
    //freopen("b.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        scanf("%d",&a[i]);
        maxx=max(maxx,a[i]);
    }
    for(w=31;w>=0;w--){
        k=0;
        for(i=1;i<=n;i++){
            if(!a[i]) continue;
            if((a[i] & (1<<w))){
                k++;
            }
        }if(k>=2){
            ans=ans+int(1<<w);
            cout<<int(1<<w)<<" "<<w<<endl;
            for(i=1;i<=n;i++){
                if(!(a[i] & (1<<w))){
                    a[i]=0;
                }
            }
        }
    }cout<<ans;
    return 0;
}