2 条题解
-
3
#include <iostream> #include <algorithm> using namespace std; int n,t,m,mid; int a[100005],b[100005]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=m;i++) cin>>b[i]; int k=1; sort(b+1,b+1+m); for(int i=1;i<=n;i++)//本应该是二维数组查找,但数据太大了,所以用二分 { int l=1; int h=m; while(l<=h) { mid=(l+h)/2; if(b[mid]==a[i]) {cout<<a[i]<<' ';break;} else if(b[mid]>a[i]) h=mid-1; else if(b[mid]<a[i]) l=mid+1; else break; } } return 0; }
信息
- ID
- 2206
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 4
- 标签
- 递交数
- 144
- 已通过
- 69
- 上传者