zoj 4057
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <cmath> using namespace std; #define ll long long const int N =1e5+9; int t,n,a[N]; int b[50]; /* 要想两个数的异或结果比两者都大 必须两数的首位都为1,其他位不行 */ int main() { scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;i<50;i++) b[i]=0; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } int maxx=0; for(int i=1;i<=n;i++) { for(int j=30;j>=0;j--) { if(a[i]>>j&1) { b[j]++; maxx=max(maxx,b[j]); break; } } } printf("%d\n",maxx); } return 0; }