Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
109294 陈星云 折半查找法 C++ 解答错误 40 1993 MS 292 KB 355 2023-11-08 13:24:04

Tests(4/10):


#include<bits/stdc++.h> using namespace std; int n,m; int a[10001]; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cin>>m; int l=1,r=n,mid; do { mid=(l+r)/2; if(a[mid]==m) break; else if(a[mid]>m) l=mid+1; else if(a[mid]<m) r=mid-1; }while(a[mid]!=m&&l!=r); if(l==r) cout<<"-1"<<endl; else cout<<mid<<endl; }


测评信息: