Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
74202 | 陶俊宸 | 二分查找 | C++ | 解答错误 | 0 | 1 MS | 248 KB | 357 | 2023-05-20 17:25:32 |
#include<cstdio> #include<algorithm> using namespace std; int n,a[100000],x; int dfs(int l,int r){ if(a[l]>x||a[r]<x||l>r) return -1; if(l==r) return l; int mid=(l+r)>>1; return max(dfs(l,mid),dfs(mid+1,r)); } int main(){ scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&x); printf("%d",dfs(0,n-1)+1); return 0; }