原题传送门
0.前言 一些奇奇怪怪的算法...
1.思路
第一眼看题的时候,感觉是一道红题 数据范围否定了我暴力的想法
但是还是有方法可以高效快速的解决 map
2.代码
#include<iostream>
#include<cstdio>
#include<map>
using namespace std;
map<int,bool> mapn;
inline void read(int &x){
int f=1;
char ch=getchar();
x=0;
while(ch<'0'||ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
x*=f;
}
int n,m;
int nn[100001],mm[100001];
int main(){
read(n);read(m);
for(int i=1;i<=n;i++) read(nn[i]);
for(int i=1;i<=m;i++){
read(mm[i]);
mapn[mm[i]]=true; //标记
}
for(int i=1;i<=n;i++){
if(mapn[nn[i]]) printf("%d ",nn[i]); //只要有标记就输出
}
return 0;
}