Fundamentals/Fair Indexes
← PrevNext →
You are given two arrays A and B consisting of N integers each.
Index K is named fair if the four sums (A[0] + ... + A[K-1]), (A[K] + ... + A[N-1]), (B[0] + ... + B[K-1]) and (B[K] + ... + B[N-1]) are all equal. In other words, K is the index where the two arrays, A and B, can be split (into two non-empty arrays each) in such a way that the sums of the resulting arrays' elements are equal.
write a function:
int fairIndexes(vector<int> &A, vector<int> &B);
which, given two arrays of integers A and B, returns the number of fair indexes.
Example 1
InputA = [4, -1, 0, 3], B = [-2, 5, 0, 3]
Output2
Explanation
The fair indices are 2 and 3. In both cases, the sums of elements in the subarrays are equal to 3.
For index 2;
4 + (-1) = 3; 0 + 3 = 3;
-2 + 5 = 3; 0 + 3 = 3;
Example 2
InputA = [2, -2, -3, 3], B = [0, 0, 4, -4]
Output1
Explanation
The only fair index is 2.