<prompt> Kujenga algorithm kwamba hugawanya array fulani ya idadi katika seti mbili ili jumla ya vipengele katika kila seti ni sawa.5, 10, 15, 20  <response>: One algorithm to divide an array into two sets so that the sum of the elements in each set is the same is as follows:1. Find the sum of all elements in the array, and check if it is divisible by 2. If the sum is odd, the array cannot be divided into two equal subsets.2. If the sum is even, we can find if there exists a subset with a sum equal to half of the total sum. This problem is a variation of the subset sum problem.3. Create a 2D array of size sum2 1 x size of the array 1 and fill it with boolean values.4. Fill the first row of the table with true, because an empty set always sums to 0.5. Fill the first column of the table with false, because there is no way to form a subset with a positive sum value using an empty set.6. Fill the remaining cells using the recurrence relation below: If arri-1 j dpij dpi-1j If arri-1 j dpij dpi-1j dpi-1j-arri-17. If dpnsum2 is true, this means that there is a subset whose sum is equal to sum2. You can then trace back the table to find the elements included in this subset.8. The other subset would be the remaining elements of the array since the two subsets are disjoint. Code implementation in Pythondef find_partitionarr: n lenarr sum_arr sumarr if sum_arr 2 ! 0: return False, , dp False for i in rangesum_arr 2 1 for j in rangen 1 for i in rangen 1: dpi0 True for i in range1, n 1: for j in range1, sum_arr 2 1: if arri - 1 j: dpij dpi - 1j else: dpij dpi - 1j or dpi - 