求助大佬讲解,听取wa声一片
查看原帖
求助大佬讲解,听取wa声一片
474957
soundfuture楼主2021/3/1 15:04
#include <iostream>
using namespace std;
int main()
{
	int num_count, times;
	cin >> num_count >> times;
	int nums[1000001] = { 0 };
	for (int i = 1; i <= num_count; i++)
		cin >> nums[i];
	int ques[100000] = { 0 };
	for (int i = 0; i < times; i++)
		cin >> ques[i];
	for (int i = 0; i < times; i++)
	{
		int l = 1, r = num_count;
		int mid;
		while (l < r)
		{
			mid = (l + r) / 2;
			if (nums[mid] > ques[i])
				r = mid - 1;
			else if (nums[mid] == ques[i])
				r = mid;
			else
				l = mid + 1;
		}
		if (nums[l] == ques[i])
			cout << l << " ";
		else
			cout << -1 << " ";
	}
}
2021/3/1 15:04
加载中...