<prompt> Kwa kuzingatia safu kamili ya nambari chanya nums, ondoa safu ndogo ndogo huenda tupu ili kwamba jumla ya vipengele vilivyosalia vigawanywe kwa p. hairuhusiwi kuondoa safu nzima.Rudisha _urefu wa safu ndogo zaidi unayohitaji kuondoa, au_ -1 _kama haiwezekani_.Subarray inafafanuliwa kama kizuizi cha vipengee vilivyo katika safu.Mfano wa 1:Ingizo: nambari 3,1,4,2, p 6Pato: 1Maelezo: Jumla ya vipengee katika nambari ni 10, ambayo haiwezi kugawanywa na 6. Tunaweza kuondoa safu ndogo 4, na jumla ya vipengele vilivyosalia ni 6, ambavyo vinaweza kugawanywa na 6.Mfano wa 2:Ingizo: nambari 6,3,5,2, p 9Pato: 2Maelezo: Hatuwezi kuondoa kipengele kimoja ili kupata jumla inayogawanywa na 9. Njia bora zaidi ni kuondoa safu ndogo 5,2, na kutuacha na 6,3 na jumla ya 9.Mfano wa 3:Ingizo: nambari 1,2,3, p 3Pato: 0Maelezo: Hapa jumla ni 6. ambayo tayari imegawanywa na 3. Hivyo hatuhitaji kuondoa chochote.Vikwazo: 1 nums.length 105 1 numsi 109 1 p 109  <response>: def minSubarraynambari, p: n, res, hitaji, cur lennambari, leninambari, 0, 0 kwa nambari kwa nambari: haja haja nambari p ikiwa ni lazima 0: kurudi 0 mwisho_kuonekana 0: -1 kwa i, nambari katika enumeratenambari: cur cur num p mwisho_kuonekanacur i res minres, i - last_seen.getcur - need p p, -n rudisha res ikiwa res n else -1 