Advertisement
YEZAELP

CUBE-134: Christmas Contest

Dec 27th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. using lli = long long;
  6.  
  7. lli A1[38], B1[38], A0[38], B0[38];
  8.  
  9. int main(){
  10.  
  11.     int n;
  12.     scanf("%d", &n);
  13.  
  14.     for(int i = 1; i <= n; i++){
  15.         int a;
  16.         scanf("%d", &a);
  17.         for(int j = 0; j < 28; j++){
  18.             if((a & (1<<j)) == 0) A0[j] ++;
  19.             else  A1[j] ++;
  20.         }
  21.     }
  22.  
  23.     int m;
  24.     scanf("%d", &m);
  25.  
  26.     for(int i = 1; i <= m; i++){
  27.         int b;
  28.         scanf("%d", &b);
  29.         for(int j = 0; j < 28; j++){
  30.             if((b & (1<<j)) == 0) B0[j] ++;
  31.             else  B1[j] ++;
  32.         }
  33.     }
  34.  
  35.     lli ans = 0;
  36.     for(int i = 0; i < 28; i++){
  37.         ans += (lli)((lli)(A0[i] * B1[i]) + (lli)(A1[i] * B0[i])) * (lli)(1 << i);
  38.     }
  39.  
  40.     printf("%lld", ans);
  41.  
  42.     return 0;
  43. }
  44. // 28 digits
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement