<prompt> Kwa kuzingatia mkusanyiko kamili nums na k kamili, gawanya nums hadi k safu ndogo zisizo tupu hivi kwamba jumla kubwa zaidi ya safu ndogo yoyote ni imepunguzwa.Rejesha _idadi kubwa iliyopunguzwa ya mgawanyiko_.subarray ni sehemu inayoshikamana ya safu.Mfano wa 1:Ingizo: nambari 7,2,5,10,8, k 2Pato: 18Maelezo: Kuna njia nne za kugawanya nambari katika safu ndogo mbili.Njia bora zaidi ni kuigawanya kuwa 7,2,5 na 10,8, ambapo jumla kubwa kati ya safu ndogo mbili ni 18 pekee.Mfano wa 2:Ingizo: nambari 1,2,3,4,5, k 2Pato: 9Maelezo: Kuna njia nne za kugawanya nambari katika safu ndogo mbili.Njia bora zaidi ni kuigawanya kuwa 1,2,3 na 4,5, ambapo jumla kubwa kati ya safu ndogo mbili ni 9 pekee.Vikwazo: 1 nums.length 1000 0 numsi 106 1 k min50, nums.length  <response>: chatudef splitArraynambari, m: kushoto, kulia maxidadi, jumla idadi wakati kushoto kulia: katikati kushoto kulia 2 hesabu, cur_sum 1, 0 kwa nambari kwa nambari: cur_sum nambari ikiwa cur_sum katikati: cur_sum nambari hesabu 1 ikiwa hesabu m: kushoto katikati 1 kwingine: kulia katikati kurudi kushotomaelezoAlgorithm ya kutatua tatizo hili ni kutumia mbinu ya utafutaji wa binary. Kwanza tunaanzisha maadili ya chini kabisa na ya juu iwezekanavyo kwa jumla kubwa zaidi. Thamani ya chini kabisa inaanzishwa hadi thamani kamili ya juu zaidi katika safu iliyotolewa, na thamani ya juu zaidi inaanzishwa hadi jumla ya thamani zote kamili katika safu. Thamani hizi zimegawiwa kwa vigeu vya left na right mtawalia.Kisha tunafanya utafutaji wa binary ili kupata jumla ndogo zaidi. Katika kila marudio, tunakokotoa thamani ya kati kati ya kushoto na kulia kushoto kulia 2. Kisha, tunarudia kupitia safu na kujumlisha nambari kamili, tukihesabu ni safu ndogo ngapi zinahitajika ili kutoshea jumla inayoendelea bila kuzidi thamani ya kati.Baada ya kurudia kupitia safu, ikiwa hesabu ya safu ndogo zinazohitajika ni kubwa kuliko m, inamaanisha kuwa thamani ya kati ni ndogo sana. Katika hali hii, tunasasisha thamani ya kushoto hadi katikati 1. Vinginevyo, ikiwa hesabu ni chini ya au sawa na m, tunasasisha thamani sahihi kuwa katikati. Mchakato unaendelea hadi kushoto ni sawa na au kubwa kuliko kulia.Hatimaye, tunarudisha thamani ya kushoto kama jumla iliyopunguzwa kati ya safu ndogo za m. 