2 条题解

  • -3
    @ 2021-10-24 20:29:52

    #include using namespace std; int a[4000500]; int main(){ int n,ans; scanf("%d",&n); for(int i=0;i<n;i++){ cin>>a[i]; ans^=a[i]; } int pos=0; for(int i=63;i>=0;i--){ if(ans&(1<<i)){ pos=(1<<i); } continue; } long long ans1=0,ans2=0; for(int i=0;i<n;i++){ if(a[i]&pos){ ans1^=a[i]; }else{ ans2^=a[i]; } } if(ans1>ans2){ swap(ans1,ans2); } cout<<ans1<<" "<<ans2; return 0; }

    信息

    ID
    1223
    时间
    200ms
    内存
    64MiB
    难度
    8
    标签
    递交数
    358
    已通过
    63
    上传者