异或大值即可
#include<bits/stdc++.h> using namespace std; #define ll long long int const N=5e6+7; ll a[N]; int n; bool cmp(ll a,ll b){ return a>b; } ll ans,cnt; int main(){ cin >> n; for(int i=1;i<=n;++i){ cin >> a[i]; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;++i){ if( (ans|a[i])>ans && cnt+1<=n-1 ){ ans=ans|a[i]; cnt++; } } cout << ans ; return 0; }