N-Raksasa的数字
思路:用bitset快速转换二进制,用vector存储,根据抑或性质对每位进行运算
#include <bits/stdc++.h> using namespace std; #define inf 0x7ffffffffffffff #define N 1005000 #define mod 1000000007 #define mod2 998244353 typedef long long ll; using namespace std; vector<bitset<32> >meme; ll now[32]; int main() { ll sum;cin>>sum; while(sum--) { ll n; meme.clear(); memset(now,0,sizeof(now)); cin>>n; for(int i=0;i<n;i++) { ll tem;cin>>tem; bitset<32> op(tem); meme.push_back(op); } for(int i=0;i<n;i++) { for(int j=0;j<32;j++) { if(meme[i][j]) now[j]++; } } ll ans=0; for(int i=0;i<32;i++) { if(now[i]>n/2) { ans+=pow(2,i); } } cout<<ans<<endl; } return 0; }