cpp implementation of Binary_Tree_Maximum_Path_Sum