For a more varied array, such as [1, 2, 3, 4, 5, 6, 7, 8], simply dividing it in the middle will not suffice. A proper partition would be [1, 2, 3, 7] and [4, 5, 6, 8], both of which total 13. You can utilize the same Python function defined in the earlier example as follows: arr = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] if ( find_partition ( arr ) ) : print ( "Can be divided." ) else : print ( "Can't be divided." ) This will produce the output "Can be divided.", signifying that there exists a partition that divides the array into two subarrays with equal sums.