classSolution{public:usingll=longlong;intdivide(intdividend,intdivisor)boolneg=false;if((dividend^divisor)<0){neg=true;}llx=dividend,y=divisor;if(x<0){x=-x;}if(y<0){y=-y;}// 找到最后一个y*? <= x
lll=0,r=x;while(l<r){llmid=(r-l+1>>1)+l;cout<<mid<<endl;if(mul(mid,y)<=x){l=mid;}else{r=mid-1;}}l=neg?-l:l;if(l>INT_MAX)returnINT_MAX;returnl;}llmul(llx,lly){llans=0;while(x){if(x&1){ans+=y;}x>>=1;y+=y;}returnans;}};