Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- using lli = long long;
- lli A1[38], B1[38], A0[38], B0[38];
- int main(){
- int n;
- scanf("%d", &n);
- for(int i = 1; i <= n; i++){
- int a;
- scanf("%d", &a);
- for(int j = 0; j < 28; j++){
- if((a & (1<<j)) == 0) A0[j] ++;
- else A1[j] ++;
- }
- }
- int m;
- scanf("%d", &m);
- for(int i = 1; i <= m; i++){
- int b;
- scanf("%d", &b);
- for(int j = 0; j < 28; j++){
- if((b & (1<<j)) == 0) B0[j] ++;
- else B1[j] ++;
- }
- }
- lli ans = 0;
- for(int i = 0; i < 28; i++){
- ans += (lli)((lli)(A0[i] * B1[i]) + (lli)(A1[i] * B0[i])) * (lli)(1 << i);
- }
- printf("%lld", ans);
- return 0;
- }
- // 28 digits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement