
Given array A, find sum of (maximum - minimum) across all non-empty subsequences.
Sort array. Each element contributes based on how many times it appears as max or min. Element at position i is max in 2^i subsequences and min in 2^(N-1-i) subsequences.
function sumTheDifference(A) {
A.sort((a, b) => a - b);
const N = A.length;
const MOD = 1e9 + 7;
let result = 0;
for (let i = 0; i < N; i++) {
const maxContribution = A[i] * Math.pow(2, i);
const minContribution = A[i] * Math.pow(2, N - 1 - i);
result = (result + maxContribution - minContribution) % MOD;
}
return (result + MOD) % MOD;
}

I'm Rahul, Sr. Software Engineer (SDE II) and passionate content creator. Sharing my expertise in software development to assist learners.
More about me