0分求助T^T
查看原帖
0分求助T^T
1096501
TKteacake楼主2024/5/13 13:30
#include <bits/stdc++.h>
#define ll  long long
using namespace std;
ll a[1000010];
int le;
ll tar;
int tt;


bool check(int mid)
{
	return tar <= a[mid];
}


int solve()
{
	cin >> tar;
	int l = 0 ,r = le - 1;
	int mid;
	while (l <= r)
	{
		mid = (l + r) >> 1;
		//cout << "tar = " << tar << "mid = " << mid << "\n";
//		if (a[mid] == tar)
//		{
//			return mid;
//		}
		if (check(mid))
		{
			r = mid - 1;
		}
		else l = mid + 1;
	}
	if (a[mid] != tar)
	{
		return -1;
	}
	return r + 2;
}


int main()
{
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	cin >> le;
	cin >> tt;
	for (int i = 0; i < le; i ++)
	{
		cin >> a[i];
	}
	while (tt--)
	{
		cout << solve() << " ";
	}
}
2024/5/13 13:30
加载中...