Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
23792 | yihang | 【二分】查找最接近的元素 | C++ | 解答错误 | 0 MS | 272 KB | 475 | 2023-07-16 17:47:55 |
#include"bits/stdc++.h" using namespace std; int n,s[100000],m,d[100000]; int sd1(int x){ int l=1,r=n-1; while(l<r){ int mid=l+r>>1; if(s[mid]>=x)r=mid; else l=mid;} return l;} int sd2(int x){ int l=1,r=n-1; while(l<r){ int mid=l+r+1>>1; if(s[mid]>=x)l=mid; else r=mid-1;} return l;} int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>s[i]; cin>>m; for(int i=1;i<=m;i++)cin>>d[i]; for(int i=1;i<=m;i++){ if(sd1(i)&&sd2(i))cout<<s[i]; } }