7 条题解
-
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)/2; if(a[mid]>=x) r=mid; else l=mid+1; } if(a[l]==x) return l; else return -1; } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=m;i++){ cin>>q; int ans=find(q); printf("%d ",ans); } }
信息
- ID
- 2044
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 5
- 标签
- 递交数
- 280
- 已通过
- 99
- 上传者