记录编号 206966 评测结果 AAAAAAAAAA
题目名称 平凡的数据范围 最终得分 100
用户昵称 Gravatarlyxin65 是否通过 通过
代码语言 C++ 运行时间 0.018 s
提交时间 2015-11-09 21:50:33 内存使用 0.39 MiB
显示代码纯文本
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>

typedef long long LL;

template<typename T>
inline void read(T &x)
{
	static int c;
	while(c = getchar(), c < '0' || c > '9');
	for(x = 0; c >= '0' && c <= '9'; c = getchar())
		x = (x << 1) + (x << 3) + c - '0';
}

template<typename T>
inline void tense(T &x, T y)
{
	x < y ? x = y : 0;
}

const int maxn = 10005;
const int maxbit = 63;

int n;
LL a[maxn];
LL b[maxbit];

int main()
{
	freopen("xor_equ.in", "r", stdin);
	freopen("xor_equ.out", "w", stdout);
	
	register int i, j;
	register LL ans = 0;
	read(n);
	for(int i = 1; i <= n; ++i)
		read(a[i]);
	for(i = 1; i <= n; ++i)
		for(j = maxbit - 1; j >= 0; --j)
			if((a[i] >> j) & 1)
				if(b[j]) a[i] ^= b[j];
				else { b[j] = a[i]; break; }
	for(i = maxbit - 1; i >= 0; --i)
		tense(ans, ans ^ b[i]);
	printf("%lld\n", ans);
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}