提交记录 16532


用户 题目 状态 得分 用时 内存 语言 代码长度
shenlc 1003. 测测你的二分查找 Time Limit Exceeded 0 1 ms 8 KB C++ 746 B
提交时间 评测时间
2021-10-01 16:09:01 2021-10-01 16:09:05
int binary_search(const unsigned *a, int n, unsigned x)
{
	int l = 0, r = n - 1, mid;
    if (r - l > 200) {
        mid = l + (r - l) * (x - a[l]) / (a[r] - a[l]);
        while (l < r - 200) {
            if (x > a[mid]) l = mid;
            else r = mid;
            mid = l + (r - l) * (x - a[l]) / (a[r] - a[l]);
        }
    }
    else mid = (l + r) / 2;
    
    while (l < r - 1) {
        if (x > a[mid]) l = mid;
        else r = mid;
        mid = (l + r) / 2;
    }
    if (x > a[mid]) {
        while (mid < n) {
            if (x > a[mid]) mid++;
        }
        return mid;
    }
    else {
        if (x == a[mid]) return mid;
        while (mid >= 0) {
            if (x < a[mid]) mid--;
        }
        return mid;
    }
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11 ms8 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-19 01:40:10 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠