1 条题解
-
1
#include <bits/stdc++.h> using namespace std; int n,m,a[2000010],t; int bs(int x){ int l=1,r=n,ans=-1; while(l<=r){ int m=(l+r)/2; if(a[m]==x) ans=m,l=m+1; if(a[m]>x) r=m-1; if(a[m]<x) l=m+1; } return ans; } int main() { cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>m; for(int i=1;i<=m;i++){ cin>>t; cout<<bs(t)<<" "; } return 0; }
- 1
信息
- ID
- 4569
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 6
- 已通过
- 6
- 上传者