Advertisement
dmkozyrev

563.cpp

Apr 1st, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <vector>
  3. #include <cstdint>
  4. #include <cassert>
  5. #include <algorithm>
  6.  
  7. int solve_slow(const std::vector<uint32_t>& a) {
  8.     const int n = (int)a.size();
  9.     uint32_t s = 0; for (auto it : a) s ^= it;
  10.     for (int i = 0; i < n-1; ++i) {
  11.         uint32_t b = 0;
  12.         for (int j = i + 1; j < n; ++j) {
  13.             uint32_t diff = a[j] - a[i];
  14.             b ^= (diff | (diff - 1)) - diff;
  15.         }
  16.         s ^= b;
  17.     }
  18.     return (int)s;
  19. }
  20.  
  21.  
  22. int main() {
  23.     freopen("input.txt", "rt", stdin);
  24.    
  25.     int n;
  26.     scanf("%d", &n);
  27.    
  28.     std::vector<uint32_t> a(n);
  29.    
  30.     for (auto& it : a) {
  31.         int value; scanf("%d", &value);
  32.         it = (uint32_t)value;    
  33.     }
  34.    
  35.     std::sort(a.begin(), a.end());
  36.    
  37.     printf("%d", solve_slow(a));
  38.  
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement