제출 #413469

#제출 시각아이디문제언어결과실행 시간메모리
413469KKT89XOR Sum (info1cup17_xorsum)C++17
77 / 100
1629 ms13572 KiB
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef unsigned long long ull; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll myRand(ll B) { return (ull)rng() % B; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n; cin >> n; vector<int> a(n); for(int i=0;i<n;i++){ cin >> a[i]; } int res=0; for(int v=(1<<28);v;v>>=1){ for(int i=0;i<n;i++){ a[i]&=(v*2-1); } sort(a.begin(), a.end()); int t=0; for(int i=n-1,j=0,k=0,l=0;i>=0;i--){ j=min(j,i); k=min(k,i); l=min(l,i); while(j<i+1 and a[i]+a[j]<v)j++; while(k<i+1 and a[i]+a[k]<2*v)k++; while(l<i+1 and a[i]+a[l]<3*v)l++; t+=(k-j)+(n-l); t&=1; } if(t)res^=v; } cout << res << 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...