84分求助
查看原帖
84分求助
1378097
zjinyi楼主2024/10/27 21:05

我的代码(WA第一个测试点):

#include <iostream>
using namespace std;

long long a[1000001];
int main()
{
	long long n, m, q, ans;
	cin >> n >> m;
	for (long long i = 1; i <= n; ++i)
	{
		cin >> a[i];
	}
	a[0] = -1;
	for (long long i = 1; i <= m; ++i)
	{
		cin >> q;
		long long mid, l = 1, r = n;
		while (l < r)
		{
			mid = (l + r) / 2;
			if (a[mid] < q)
			{
				l = mid + 1;
				ans = mid + 1;
			}
			else
			{
				r = mid;
			}
		}
		if (a[ans] != q)
		{
			cout << -1 << " ";
		}
		else
		{
			cout << ans << " ";
		}
	}
	
	return 0;
}
2024/10/27 21:05
加载中...