int binary_search(const vector<int>& stones,int val){ int sz=stones.size(); int l=0,r=sz-1; while(l<=r){ int mid=(l+r)>>1; if(stones[mid]>=val){ r=mid-1; }else{ l=mid+1; } } return l; }