#include<bits/stdc++.h>
using namespace std;
int a[100005];
long long ans = 0, n, q1[100005], q2[100005];
int main()
{
cin >> n;
cin >> a[1];
q1[1] = a[1];
for (int i = 2; i <= n; i++)
{
cin >> a[i];
q1[i] = q1[i - 1] & a[i];//求前缀
}
q2[n] = a[n];
for (int i = n - 1; i >= 1; i--)
q2[i] = q2[i + 1] & a[i];//求后缀
for (int i = 1; i <= n; i++)
{
long long sum = q1[i] + q2[i + 1];//计算
ans = max(ans, sum);
}
cout << ans;
return 0;
}
考题一按位与
最新推荐文章于 2024-10-01 23:05:47 发布