第一个点WA,代码很乱,谢谢
查看原帖
第一个点WA,代码很乱,谢谢
580432
dan_zhu楼主2021/12/7 21:12
#include<bits/stdc++.h>
using namespace std ;
int n , m , h[1000010] , tmp , ans ;
int find (int x)
{
	int l = 1 , r = n , mid ;
	while(l <= r)
	{
		mid = (l + r) / 2 ;
		if (h[mid] == x &&h[mid-1] < x) return mid ;
		else if (h[mid] > x && h[mid-1] < x) return -1 ;
		else if (h[mid] >= x) r = mid - 1 ;
		else if (h[mid] < x) l = mid + 1 ;
	}
	return -1 ;
}
int main ()
{
	cin >> n >> m ;
	for(int i = 1 ; i <= n ; i++) cin >> h[i] ;
	for(int i = 1 ; i <= m ; i++)
	{
		cin >> tmp ;
		ans = find(tmp) ;
		cout << ans << " " ;
	}
	return 0 ;
}
2021/12/7 21:12
加载中...