<prompt> Umepewa safu kamili ya iliyo na fahirisi 0 ya urefu n, idhinisho ya nambari kamili kutoka 1 hadi n inayowakilisha mpangilio wa kuingizwa kwenye binary search mti.Mti wa utaftaji wa binary unafafanuliwa kama ifuatavyo: Sehemu ndogo ya kushoto ya nodi ina vifundo pekee vilivyo na vitufe chini ya kitufe cha nodi. Mti mdogo wa kulia wa nodi una vifundo pekee vilivyo na vitufe vikubwa kuliko vitufe vya nodi. Miti ndogo ya kushoto na kulia lazima pia iwe miti ya utafutaji ya binary.Mti wa utaftaji wa binary umeundwa kama ifuatavyo: agiza0 itakuwa mzizi wa mti wa utafutaji wa binary. Vipengele vyote vifuatavyo vimeingizwa kama mtoto wa nodi yoyote iliyopo hivi kwamba sifa za mti wa utafutaji wa binary zinashikilia.Rejesha kina cha mti wa utafutaji wa binary_.kina cha mti wa binary ni nambari ya nodi kando ya njia ndefu kutoka kwenye kifundo cha mizizi hadi kifundo cha majani cha mbali zaidi.Mfano wa 1:Ingizo: agizo 2,1,4,3Pato: 3Maelezo: Mti wa utafutaji wa binary una kina cha 3 na njia 2-3-4.Mfano wa 2:Ingizo: agizo 2,1,3,4Pato: 3Maelezo: Mti wa utafutaji wa binary una kina cha 3 na njia 2-3-4.Mfano wa 3:Ingizo: agizo 1,2,3,4Pato: 4Maelezo: Mti wa utafutaji wa binary una kina cha 4 na njia 1-2-3-4.Vikwazo: n order.length 1 n 105 ili ni ruhusa ya nambari kamili kati ya 1 na n.  <response>: def get_collision_timesmagari: n lenzi magari migongano -1 n kwa i katika masafa n-1, -1, -1: time_to_collision 1e9 kwa j katika safui1, n: ikiwa magarij1 magarii1: endelea current_collision magarij0 - magarii0 magarii1 - magarij1 ikiwa sasa_mgongano time_to_collision: time_to_collision mintime_to_collision, minmigonganoj, current_collision migonganoi -1.0 ikiwa time_to_collision 1e9 mwingine wakati_to_gongana migongano ya kurudi 