20分,为啥不能用lower_bound?
查看原帖
20分,为啥不能用lower_bound?
1097884
shuhao楼主2024/1/24 11:51
#include <cstdio>
#include <algorithm>
using namespace std;

const int N = 1e6+5;
int n, m;
int a[N];
int q;

int main()
{
	scanf("%d %d", &n, &m);
	for(int i = 1; i <= n; i++)
		scanf("%d", &a[i]);
	for(int i = 1; i <= m; i++)
	{
		scanf("%d", &q);
		int ans = lower_bound(a+1, a+n+1, q) - a;
		if(a[ans] > q) ans = -1;
		printf("%d ", ans);
	}
	
	return 0;
}
2024/1/24 11:51
加载中...