1class Solution {2public:3int subsetXORSum(vector<int> &nums) {4int ans = 0;5for (int i = 0; i < 32; i++) {6int mask = 1 << i;7int count = 0;8for (int j = 0; j < nums.size(); j++) {9if (nums[j] & mask) count++;10}11if (count) {12ans += mask * (1 << (count - 1)) * (1 << (nums.size() - count));13}14}15return ans;16}17};