<prompt> Unapewa orodha ya vizuizi, ambapo blocksi t inamaanisha kuwa kizuizi cha i-th kinahitaji vitengo t vya muda ili kujengwa. Kizuizi kinaweza kujengwa na mfanyakazi mmoja tu.Mfanyikazi anaweza kugawanywa katika wafanyikazi wawili idadi ya wafanyikazi huongezeka kwa mmoja au kujenga kizuizi kisha kwenda nyumbani. Maamuzi yote mawili yanagharimu muda fulani.Gharama ya muda ya kugawanya mfanyakazi mmoja katika wafanyakazi wawili inatolewa kama mgawanyiko kamili. Kumbuka kwamba ikiwa wafanyikazi wawili watagawanyika kwa wakati mmoja, waligawanyika sambamba ili gharama iwe imegawanyika.Toa muda wa chini unaohitajika kujenga vitalu vyote.Hapo awali, kuna mfanyakazi mmoja pekee.Mfano wa 1:Ingizo: vizuizi 1, mgawanyiko 1Pato: 1Maelezo: Tunatumia mfanyakazi 1 kujenga kitalu 1 kwa kitengo cha muda 1.Mfano wa 2:Ingizo: vizuizi 1,2, mgawanyiko 5Pato: 7Ufafanuzi: Tunagawanya mfanyakazi kuwa wafanyikazi 2 katika vitengo 5 vya wakati kisha tunaweka kila mmoja wao kwenye kizuizi ili gharama iwe 5 max1, 2 7.Mfano wa 3:Ingizo: vizuizi 1,2,3, mgawanyiko 1Pato: 4Maelezo: Gawanya mfanyakazi 1 katika 2, kisha mpe mfanyakazi wa kwanza kwenye kizuizi cha mwisho na ugawanye mfanyakazi wa pili kuwa 2.Kisha, tumia wafanyakazi wawili ambao hawajagawiwa kujenga vitalu viwili vya kwanza.Gharama ni 1 max3, 1 max1, 2 4.Vikwazo: 1 blocks.length 1000 1 vitalui 105 1 mgawanyiko 100  <response>: kuagiza rundodef min_build_time vizuizi, mgawanyiko: heapq.heapifyvitalu wakati lenvizuizi 1: a heapq.heapopvitalu b heapq.heapopvitalu heapq.heapppushvizuizi, b mgawanyiko rudisha vitalu0 