}
/**
}
}
int center = ( left + right ) / 2;
MaxSeq maxLeftSum = maxSumRec( a, left, center );
MaxSeq maxRightSum = maxSumRec( a, center + 1, right );
MaxSeq maxLeftBorderSum, leftBorderSum;
maxLeftBorderSum.value = leftBorderSum.value = 0;
leftBorderSum.startIndex = left;
leftBorderSum.endIndex = center;
for( int i = center; i >= left; —i )
{
}
return max( max(maxLeftSum, maxRightSum),
maxLeftBorderSum + maxRightBorderSum );
}
/**