5 条题解

  • 0

    二分模版题。

    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e7+5;
    int a[N],n,k;
    int bs(int l,int r,int x){
    	if(l>r)	return -1;
    	int mid=(l+r)>>1;
    	if(a[mid]==x)	return mid;
    	else if(x>a[mid])	return bs(mid+1,r,x);//向右找
    	else return bs(l,mid-1,x);//向左找
    }
    int main(){
    	cin>>n>>k;
    	for(int i=1;i<=n;i++)	cin>>a[i];
    	cout<<bs(1,n+1,k);
    }
    

    信息

    ID
    665
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    62
    已通过
    18
    上传者