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; }
-
1
#include<bits/stdc++.h> using namespace std; const int maxn=1e9; int a[maxn]; int b[maxn]; int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; } for(int k=1;k<=n;k++){ for(int j=1;j<=m;j++){ if(a[k]==b[j]){ cout<<a[k]<<" "; } } } return 0; } //不知道为什么超时
- 1
信息
- ID
- 2206
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 4
- 标签
- 递交数
- 144
- 已通过
- 69
- 上传者