class Solution(object):
def maxDistToClosest(self, seats):
"""
:type seats: List[int]
:rtype: int
"""
N = len(seats)
j, k = -1, -1
dp = [0]*N
res = 0
for i in range(N):
if seats[i]:
j = i
elif j >= 0:
if dp[i]:
dp[i] = min(dp[i], i-j)
else:
dp[i] = i-j
if seats[~i]:
k = i
elif k >= 0:
if dp[~i]:
dp[~i] = min(dp[~i], i-k)
else:
dp[~i] = i-k
return max(dp)