第二种二分写法有什么错误??
查看原帖
第二种二分写法有什么错误??
56856
youngAnswer楼主2021/10/21 09:06
//满分写法
int l = 1, r = m;
	
    while (l < r){
        int mid = (l + r) / 2;
        if (check(mid)) l = mid + 1;
        else r = mid;
    }
    if (! check(m)) cout << -1 << endl << l << endl;
    else puts("0"); 
``````cpp
//只有五分
int l = 1, r = m , ans = 0;
	while (l <= r){
		int mid = (l + r) >> 1;
		if (! check(mid)){
			ans = mid; r = mid - 1; 
		}
		else l = mid + 1;
	}
	if (ans) cout << -1 << endl << ans << endl;
	else printf("0");
2021/10/21 09:06
加载中...