1class Solution {2public:3int sumSubseqWidths(vector<int> &nums) {4vector<long long> pow(nums.size());5pow[0] = 1;6for (int i = 1; i < nums.size(); i++) {7pow[i] = pow[i - 1] * 2 % 1000000007;8}9sort(nums.begin(), nums.end());10long long ans = 0;11for (int i = 0; i < nums.size(); i++) {12ans = (ans + pow[i] * nums[i]) % 1000000007;13ans = (ans - pow[nums.size() - i - 1] * (long long)nums[i]) % 1000000007;14}15return ans;16}17};