MnZn 求助线性姬 12分 求助
查看原帖
MnZn 求助线性姬 12分 求助
310818
蒟酱厂妹楼主2022/8/17 16:30

rt QwQ

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cassert>
#include<array>
#define siz(x) int((x).size())
#define cauto const auto
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
using std::cin;using std::cout;
using loli=long long;
using uloli=unsigned long long;
using lodb=long double;
using venti=__int128_t;
using pii=std::pair<int,int>;
using inlsi=const std::initializer_list<int>&;
constexpr venti operator""_vt(uloli x){return venti(x);}
int n;
struct LineBase:std::array<loli,50>{
#define a (*this)
	auto &operator+=(loli x){
		for(int i=49;~i;i--){
			if(!(x>>i&1))continue;
			if(!a[i])return a[i]=x,*this;
			x^=a[i];
		}
		return *this;
	}
	auto max(){
		loli res=0;
		for(loli i:a)res=std::max(res,res^i);
		return res;
	}
#undef a
}s;
signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	std::ios::sync_with_stdio(false);cin.tie(nullptr);
	cin>>n;
	for(loli x;n--;)cin>>x,s+=x;
	cout<<s.max();
	return 0;
}
2022/8/17 16:30
加载中...