数据范围给的方式很明显了,去重完贪心
int n,k,v[MAXN];
bool can(int x)
{
int num0=0,num1=0;
rep(i,n)
{
if(v[i]&(1<<x)) num1=1;
else num0=1;
}
return (num0&&num1);
}
int main()
{
cin>>n;
rep(i,n ) cin>>v[i];
sort(v,v+n);
n= unique(v, v + n) - v; // 去重
for(k=0;k<=30;++k) if(can(k)) break;
cout<<(1<<k)*(n-1)<<endl;
// stop;
return 0;
}