fork(8) download
  1. #include<cstdio>
  2. int main()
  3. {
  4. int N;
  5. scanf("%d",&N);
  6. long long A[101010];
  7. for(int i=0;i<N;i++)
  8. scanf("%lld",A+i);
  9. long long ans=0;
  10. int cnt=0;
  11. for(int j=62;j>=0;j--)
  12. {
  13. for(int i=cnt;i<N;i++)
  14. {
  15. if( A[i] & (1LL<<j) )
  16. {
  17. long long t=A[i];
  18. A[i]=A[cnt];
  19. A[cnt]=t;
  20. for(int k=0;k<N;k++)
  21. if(cnt!=k && (A[k] & (1LL<<j) ) )
  22. A[k]^=A[cnt];
  23. cnt++;
  24. break;
  25. }
  26. }
  27. }
  28. for(int i=0;i<cnt;i++) ans^=A[i];
  29. printf("%lld",ans);
  30. }
Success #stdin #stdout 0s 4128KB
stdin
3
1
2
4
stdout
7