只有12分
查看原帖
只有12分
150611
mrozhx楼主2020/11/15 14:57
#include<bits/stdc++.h>
using namespace std;
unsigned long long a[101],p[101],n;
void high(unsigned long long x){
	for(int i=50;i>=0;i--){
		if(x/(unsigned long long)pow(2,i)){
			if(!p[i]) p[i]=x;
			else x^=p[i];
		}
	}
}
int main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		high(a[i]);
	}
	unsigned long long ans=0;
	for(int i=50;i>=0;i--){
		if((ans^p[i])>ans) ans^=p[i];
	}
	printf("%lld",ans);
	return 0;
}
2020/11/15 14:57
加载中...