Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
109301 陈星云 折半查找法 C++ 解答错误 30 1 MS 288 KB 352 2023-11-08 13:24:42

Tests(3/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; while(a[mid]!=m&&l!=r) { 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; } if(l==r) cout<<"-1"<<endl; else cout<<mid<<endl; }


测评信息: