// C++
#include <iostream>
using std::cout;
using std::endl;
// Test Input
const int INPUT[7] = { 1, 8, 2, 9, 2, 3, 6 };
//const int INPUT[7] = { 1, 1, 1, 1, 1, 3, 6 };
//const int INPUT[3] = { 2,5,7 };
const int SIZE = sizeof(INPUT) / sizeof(int);
int sumInput()
{
int sum = 0;
for (int i = 0; i < SIZE; ++i)
{
sum += INPUT[i];
}
return sum;
}
int findPivotIndex()
{
int leftValue = 0;
int rightValue = sumInput();
int pastPivotValue = 0;
for (int i = 0; i < SIZE; ++i)
{
int pivotValue = INPUT[i];
leftValue += pastPivotValue;
rightValue -= pivotValue;
pastPivotValue = pivotValue;
if (leftValue == rightValue)
{
return i;
}
}
return -1;
}
int main()
{
cout << findPivotIndex() << endl;
}
Output:
3