How to split the array into two subarrays with the smallest sum difference?
This problem is the optimization version of the partition problem, and if it was solvable efficiently, that would mean that $P = NP$. That means it is unlikely that there is a polynomial time solution to split an array in two.
There are exact solution algorithms described on the wikipedia page, and some of them are in pseudo-polynomial time.