问题标题: 酷町堂:2771 二分查找1

0
0
已解决
张岳恒
张岳恒
资深光能
资深光能

我又来试二分了

#include<iostream>
using namespace std;
int a[1000001],b[10000001];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	a[0]=-1;
	for(int i=1;i<=m;i++){
		int x;
		int l=1,r=n,mid;
		cin>>x;
		while(l<=r){
			mid=(l+r)/2;
			if(a[mid]<=x) l=mid+1;
			else r=mid-1;
		}
		cout<<a[r]<<endl;
	}
	return 0;
}

输出不了不在此序列的

张岳恒在2020-04-11 09:59:06追加了内容

@董子墨 

张岳恒在2020-04-11 19:10:21追加了内容

@刘奕然 TLE了 

张岳恒在2020-04-13 13:47:35追加了内容

自顶一下

张岳恒在2020-04-13 20:57:25追加了内容

    再顶一下

张岳恒在2020-04-16 11:55:21追加了内容

愤怒之顶


0
0
0
刘奕然
刘奕然
初级守护
初级守护

l下标的更新错了

l=mid;

mid的更新也有点问题

mid=(l+r+1)/2

望采纳

0
0
我要回答