class Solution {
public:
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    int mysqrt(int x) {
        // write code here
        if(x < 2){
            return x;
        }
        int left=1, right=x/2;
        while(left <= right){
            int mid = left + (right - left)/2;
            int cur = mid;
            if(cur == (x / mid)){
                return mid;
            }
            else if(cur < (x / mid)){
                left = mid+1;
            }
            else{
                right = mid-1;
            }
        }
        return left-1;
    }
};