@@ -19,22 +19,32 @@ def solve():
1919 M += 1
2020 mx_M += 1
2121 new_streetlight = [0 , 0 , M ]
22- for idx in range (len (streetlights ) - 1 ):
22+ for idx in range (len (streetlights )):
23+ local_delta , local_Ln , local_idx = 0 , 0 , 0
24+
2325 if idx == 0 :
24- left , right = 1 , streetlights [idx + 1 ][1 ]
26+ right = streetlights [idx + 1 ][1 ]
27+
28+ local_delta = right - streetlights [idx ][1 ]
29+ local_Ln = math .ceil ((streetlights [idx ][1 ] + right ) / 2 )
30+ local_idx = idx + 1
2531 elif 0 < idx < len (streetlights ) - 1 :
2632 left , right = streetlights [idx - 1 ][1 ], streetlights [idx + 1 ][1 ]
2733
28- local_delta , local_Ln , local_idx = 0 , 0 , 0
34+ if streetlights [idx ][1 ] - left >= right - streetlights [idx ][1 ]:
35+ local_delta = streetlights [idx ][1 ] - left
36+ local_Ln = math .ceil ((left + streetlights [idx ][1 ]) / 2 )
37+ local_idx = idx
38+ else :
39+ local_delta = right - streetlights [idx ][1 ]
40+ local_Ln = math .ceil ((streetlights [idx ][1 ] + right ) / 2 )
41+ local_idx = idx + 1
42+ else : # if idx == len(streetlights)-1
43+ left = streetlights [idx - 1 ][1 ]
2944
30- if streetlights [idx ][1 ] - left >= right - streetlights [idx ][1 ]:
3145 local_delta = streetlights [idx ][1 ] - left
3246 local_Ln = math .ceil ((left + streetlights [idx ][1 ]) / 2 )
3347 local_idx = idx
34- else :
35- local_delta = right - streetlights [idx ][1 ]
36- local_Ln = math .ceil ((streetlights [idx ][1 ] + right ) / 2 )
37- local_idx = idx + 1
3848
3949 if new_streetlight [0 ] < local_delta :
4050 new_streetlight [0 ], new_streetlight [1 ], new_streetlight [2 ] = local_delta , local_Ln , local_idx
@@ -43,9 +53,11 @@ def solve():
4353 new_streetlight [0 ], new_streetlight [1 ], new_streetlight [2 ] = local_delta , local_Ln , local_idx
4454
4555 if new_streetlight [2 ] < len (streetlights ):
46- streetlights = streetlights [0 :new_streetlight [2 ]] + [[mx_M , new_streetlight [1 ]]] + streetlights [new_streetlight [2 ]:]
56+ # streetlights = streetlights[0:new_streetlight[2]] + [[mx_M, new_streetlight[1]]] + streetlights[new_streetlight[2]:]
57+ streetlights .insert (new_streetlight [2 ], [mx_M , new_streetlight [1 ]])
4758 else :
48- streetlights = streetlights + [[M , new_streetlight [1 ]]]
59+ # streetlights = streetlights + [[M, new_streetlight[1]]]
60+ streetlights .append ([M , new_streetlight [1 ]])
4961
5062 elif cmd == 300 :
5163 D = tmps [1 ]
0 commit comments