class Solution {
public:
int findRadius(vector<int>& houses, vector<int>& heaters) {
//先将供暖器排序,之后为每个屋子找到最近的供暖器
heaters.push_back(INT_MIN),heaters.push_back(INT_MAX);
sort(heaters.begin(),heaters.end());
int res = 0;
for(int i=0;i<houses.size();i++){
int l=0,r = heaters.size()-1;
while(l-r){
int mid = l+r>>1;
if(heaters[mid]>houses[i]) r = mid;
else l = mid+1;
}
res = max(res,(int)min(heaters[l]-0ll-houses[i],houses[i]-0ll-heaters[l-1]));
}
return res;
}
};