啊???萌新10pts求助
查看原帖
啊???萌新10pts求助
1180849
Study_zzy楼主2023/10/30 21:06

可以说我是照着题解一个字母一个字母调的

#include <iostream>
#include <algorithm>
using namespace std;

int n, m;
int a[100005], b[100005];
bool find(int x){
	int l = 1, r = m;
	while(l <= r){
		int mid = (l + r) >> 1;
		if(b[mid] == a[x]) return 1;
		if(b[mid - 1] < a[x] && b[mid + 1] > a[x]) return 0;
		if(b[mid] > a[x]) r = mid;
		else l = mid + 1;
	}
	return 0;
}

int main(){
	cin >> n >> m;
	for(int i = 1; i <= n; i++)
		scanf("%d", &a[i]);
	for(int i = 1; i <= m; i++)
		scanf("%d", &b[i]);
	sort(b + 1, b + m + 1);
	for(int i = 1; i <= n; i++)
		if(find(i)) 
			printf("%d ", &a[i]);
	return 0;
}
2023/10/30 21:06
加载中...