7 条题解
-
0
#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); } return 0; }
信息
- ID
- 2044
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 5
- 标签
- 递交数
- 280
- 已通过
- 99
- 上传者