#include <iostream>
using namespace std;
int count_max(int arr[], int N)
{
int sum_left = arr[0];
int sum_right = arr[N - 1];
int low = 0;
int high = N - 1;
while(low < high - 1)
{
if(sum_left <= sum_right)
{
sum_left += arr[++low];
}
else
{
sum_right += arr[--high];
}
}
return sum_left * sum_right;
}
int main()
{
int arr[] = {1,2,3,4};
cout << count_max(arr, 4)<<endl;
return 0;
}
长度为M的数组A,找出位置N,使得A[0]...A[N-1]和A[N]...A[M - 1]的和的乘积为最大。
例如:A[] = {1,2,3,4}, A1 = {1,2,3} 和为6 A2 = {4},和为4 乘积为最大 24