第一道二分体就卡死了,大佬救命
查看原帖
第一道二分体就卡死了,大佬救命
1585789
Chen_sir楼主2024/12/2 15:17

为什么通过不了呀呜呜呜 求助大佬帮忙解惑

#include<stdio.h>
#include <stdlib.h>
	//x被查找
	long long search (long long arr[],long long l,long long r,long long x)
	{
		while(l<=r)
		{	
		long long m=l+(r-1)/2;
		if(arr[m]==x)
		return m+1;
	
		if(arr[m]<x)
		l=m+1;
		if(l>=r)
		break;
		else r=m-1;
		}
		return -1;
	}
	
	int main()
	{
		long long n,m;
		scanf("%lld %lld",&n,&m);
		long long arr[n];
		for(long long i=0;i<n;i++)
		{
			scanf("%lld",&arr[i]);
			
			
		}
		long long where[m];
		for(long long i=0;i<m;i++)
		{
			scanf("%lld",&where[i]);
		}
	
	for(long long i=0;i<m;i++)
	{
		long long result=search(arr,0,n-1,where[i]);
		printf("%lld ",result);
	}
	
	
	return 0;
}
2024/12/2 15:17
加载中...