1 条题解

  • -2
    @ 2026-7-25 20:33:28
    #include<bits/stdc++.h>
    using namespace std;
    int n,x,a[100000000];
    int main(){
    	cin>>n>>x;
    	for(int i=1;i<=n;++i){
    		cin>>a[i];
    	}
    	int L=0,R=n+1;
    	while(R-L>1){
    		int mid=(R+L)/2;
    		if(a[mid]>x){
    			R=mid;
    		}
    		else{
    			L=mid;
    		}
    	}
    	if(R==n+1){
    		cout<<"Not found!";
    	}
    	else cout<<R<<endl<<a[R];
    	return 0;
    }
    • 1

    二分查找1(最大值最小)查找>x的数

    信息

    ID
    7
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    8
    已通过
    7
    上传者