Maximum Score Of Spliced Array LeetCode solution in C++
1class Solution {2public:3int maximumsSplicedArray(vector<int> &nums1, vector<int> &nums2) {4return max(MaxValOfA1(nums1, nums2), MaxValOfA1(nums2, nums1));5}67int MaxValOfA1(vector<int> &a1, vector<int> &a2) {8int n = a1.size();9int sum = 0;10for (auto &i : a1) sum += i;11int L = 0, R = 0, max_inc = 0;12// max_inc is maximum positive contribution of a113int acc1 = 0, acc2 = 0;14while (L < n && R < n) {15acc1 += a1[R];16acc2 += a2[R];17max_inc = max(max_inc, acc2 - acc1);18if (acc1 >= acc2) {19L = R + 1;20R = L;21acc1 = 0;22acc2 = 0;23} else {24R = R + 1;25}26}27return sum + max_inc;28}29};