#include<bits/stdc++.h>
#define int long long
using namespace std;
int read() {
int x=0,f=1;
char ch=getchar();
while (ch<'0'||ch>'9') {
if (ch=='-') f=-1;
ch=getchar();
}
while (ch>='0'&&ch<='9')
x=x*10+ch-48,ch=getchar();
return x*f;
}
void write(int x) {
if(x<0) x=-x,putchar('-');
if(x>9) write(x/10);
putchar(x%10+'0');
}
int a[1000007];
int maxn=0;
signed main(){
int n=read();
for(int i=1;i<=n;++i){
cin >> a[i];
}
sort(a+1,a+n+1);
for(int i=n-31;i<=n;++i) {
for(int j=i+1;j<=n;++j){
maxn=max(maxn,a[i]&a[j]);
}
}
cout << maxn;
}
该代码在 n≤31 时会访问非法内存,样例都错了,但交上去AC。综上所述,应添加 n≤31 的hack数据。