3
int minimumAverageDifference(vector<int> &nums) {4
int n(size(nums)), minAverageDifference(INT_MAX), index;6
long long sumFromFront(0), sumFromEnd(0);7
for (auto &num : nums) sumFromEnd += num;9
for (int i = 0; i < n; i++) {10
sumFromFront += nums[i];11
sumFromEnd -= nums[i];12
int a = sumFromFront / (i + 1); // average of the first i + 1 elements.14
(i == n - 1) ? 0 : sumFromEnd / (n - i - 1); // average of the last n - i - 1 elements.16
if (abs(a - b) < minAverageDifference) {17
minAverageDifference = abs(a - b);