BZOJ3687
#include <cstdio> #include <bitset> using namespace std; bitset <2000001> f; int n; int main(){ scanf("%d",&n); f[0]=1; for (int i=1;i<=n;i++){ int t; scanf("%d",&t); f=f^(f<<t); } int ans=0; for (int i=1;i<=2000000;i++) if (f[i]) ans^=i; printf("%d\n",ans); }
原文:http://www.cnblogs.com/zhujiangning/p/6349488.html