5 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int maxn=1e6+10; int a[maxn],n,m,q; int find(int x){ int l=1,r=n; while(l<r){ int mid=(l+r+1)/2; if(a[mid]<=x){ l=mid; } else r=mid-1; } if(a[l]==x) return l; else return -1; } int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) cin>>a[i]; scanf("%d",&m); for(int i=1;i<=m;i++){ cin>>q; int ans=find(q); printf("%d ",ans); } }
信息
- ID
- 1147
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 236
- 已通过
- 88
- 上传者