#98. 【模板】二分答案

内存限制:1 MiB 时间限制:10 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: wangjunyi2013

题目描述

二分答案模板题

输出小于等于 的最大的 的平方数。

如:,输出应为 ,因为

本题的宗旨是练习二分答案,请不要暴力遍历,也不要打表。(暴力会TLE,打表没办法)

输入格式

一个正整数

输出格式

一个正整数,表示答案

样例

样例输入#1

8

样例输出#1

8

数据范围与提示

二分答案模板:

二分查找左边界:

while(l<=r){
    int mid=l+r>>1;
    if(check(mid)){
    	保存答案;
        r=mid-1;
    }
    else {
        l=mid+1;
    }
}

二分查找右边界:

while(l<=r){
    int mid=l+r>>1;
    if(check(mid)){
    	保存答案;
        l=mid+1;
    }
    else {
        r=mid-1;
    }
}

注:二分有不同的写法,这里放的是我习惯用的写法(左闭右闭)