版权声明:转就转吧~~记得声明噢~~ https://blog.csdn.net/Soul_97/article/details/82694509
https://www.nowcoder.com/acm/contest/189/B
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 5;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
int a[N],sum[N][32];
int n, q;
int main()
{
scanf("%d",&n);
for(int i = 1;i <= n;i ++)
scanf("%d",&a[i]);
for(int i = 1;i <= n;i ++){
for(int j = 0;j < 31;j ++){
sum[i][j] = sum[i-1][j] + ((a[i]>>j)&1);
}
}
scanf("%d",&q);
int l, r;
while(q --){
scanf("%d%d",&l,&r);
int ans = 0;
for(int i = 0;i < 31;i ++){
if(2 * (sum[r][i] - sum[l-1][i]) < r - l + 1){
ans |= 1<<i;
}
}
cout << ans << '\n';
}
return 0;
}