class Solution {
public:
int maxDistToClosest(vector<int>& seats) {
int res=0,l=0,r=0;
int len=seats.size();
while(l<len && seats[l]==0) l++; //!
res=max(res,l);
while(l<len)
{
r=l+1;
while(r<len && seats[r]==0) r++;
if(r==len) res=max(res,r-l-1);
else res=max(res,(r-l)/2);
l=r;
}
return res;
}
};