大佬们,逻辑上感觉是对的,为啥20分?
查看原帖
大佬们,逻辑上感觉是对的,为啥20分?
830434
yujl楼主2023/12/2 18:08
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5 + 5;
long long n, m;
long long a[N], b[N];
long long l, r, mid;
int main()
{
	cin >> n >> m;
	for (int i = 1; i <= n; i++) cin >> a[i];
	for (int j = 1; j <= m; j++) cin >> b[j];
	sort(a + 1, a + n + 1);
	sort(b + 1, b + m + 1);
	/*cout << endl;
	for (int i = 1; i <= n; i++) cout << a[i]<<" ";
	cout << endl;
	for (int j = 1; j <= m; j++) cout << b[j]<<" ";*/
	for (int j = 1; j <= m; j++)
	{
		l = 1;
		r = n;
		while (l <= r)
		{
			mid = l + r >> 1;
			if (a[mid] == b[j])
			{
				 cout<<a[mid]<<" ";
				 break;
			}
			else if (a[mid] > b[j]) r = mid - 1;
			else l = mid + 1;

		}
		continue;
	}
	return 0;
}
2023/12/2 18:08
加载中...