Submission #67681

#TimeUsernameProblemLanguageResultExecution timeMemory
67681tatatanXOR Sum (info1cup17_xorsum)C++11
0 / 100
1675 ms8260 KiB
#include <bits/stdc++.h> #define mp make_pair #define pb push_back #define pii pair<int,int> #define LL long long #define st first #define nd second #define endl '\n' using namespace std; const int MAXN=1000005; int n,a[MAXN],b[MAXN]; LL ans; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n; for(int i=0;i<n;++i) cin>>a[i]; for(int i=0;i<30;++i) { int xo=(1<<(i+1))-1,t1,t2,t3; LL cnt=0; for(int j=0;j<n;++j) { b[j]=xo&a[j]; } sort(b,b+n); for(int j=0;j<n;++j) { t1=lower_bound(b,b+n,(1<<i)-b[j])-b; t1=n-t1; t2=lower_bound(b,b+n,(1<<(i+1))-b[j])-b; t2=n-t2; t3=lower_bound(b,b+n,(1<<(i+1))+(1<<i)-b[j])-b; t3=n-t3; cnt+=(t1-(t2-t3)); } if(cnt&1) ans+=(1<<i); } int ans2=0; for(int i=0;i<n;++i) for(int j=0;j<n;++j) ans2^=a[i]+a[j]; cout<<ans2<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...